From: dgovoni at metadapt.com (Darren Govoni) Date: Sat, 25 Mar 2006 12:22:14 -0500 Subject: [Pljava-dev] Cannot find dynamic class In-Reply-To: <4424F664.7060105@tada.se> References: <4424C5C3.4000500@metadapt.com> <4424F664.7060105@tada.se> Message-ID: <44257C46.6070701@metadapt.com> Hi Thomas, Thanks for responding. :) Here is my stack trace. INFO: 24 Mar 06 23:06:59 org.postgresql.pljava.sqlj.Loader Failed to load class org.postgresql.pljava.internal.ServerException: stack depth limit exceeded at org.postgresql.pljava.internal.ExecutionPlan._cursorOpen(Native Method) at org.postgresql.pljava.internal.ExecutionPlan.cursorOpen(ExecutionPlan.java:136) at org.postgresql.pljava.jdbc.SPIStatement.executePlan(SPIStatement.java:114) at org.postgresql.pljava.jdbc.SPIPreparedStatement.execute(SPIPreparedStatement.java:263) at org.postgresql.pljava.jdbc.SPIPreparedStatement.executeQuery(SPIPreparedStatement.java:72) at org.postgresql.pljava.sqlj.Loader.findClass(Loader.java:171) at java.lang.ClassLoader.loadClass(ClassLoader.java:289) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at com.echomine.net.SocketConnector$1.run(SocketConnector.java:285) at java.lang.Thread.run(Thread.java:534) java.lang.NoClassDefFoundError: alt/java/net/SocketImpl at com.echomine.net.SocketConnector$1.run(SocketConnector.java:285) at java.lang.Thread.run(Thread.java:534) ---------- Here is the code generating it. Class: SocketConnector.java .... import alt.java.net.SocketImpl; ..... public void aconnect(final SocketHandler socketHandler, final ConnectionModel connectionModel) { Thread thread = new Thread(new Runnable() { public void run() { alt.java.net.Socket socket = null; try { ConnectionEvent event = new ConnectionEvent(connectionModel, ConnectionEvent.CONNECTION_STARTING ); ConnectionEvent vetoEvent = new ConnectionEvent(connectionModel, ConnectionEvent.CONNECTION_VETO ED); fireConnectionStarting(event, vetoEvent); socketHandler.start(); if (connectionModel.isSSL()) { socket = new SocketImpl(negotiateSSLConnection(connectionModel)); } else { --->>> socket = new SocketImpl(new Socket(connectionModel.getHost(), connectionModel.getPort())); } It appears the class in question is indeed in the jar I load. Thank you!!! Darren Thomas Hallgren wrote: > Hi Darren, > What do you mean when you say 'dynamically loaded'? Do you load it > using an explicit ClassLoader.loadClass() call? And that succeeds? > Also, when you say 'statically initializes', you you mean that the > class in question has a static attribute of class SocketImpl, does it > extend that class, or does it use an explicit ClassLoader inside of a > static initializer? > > Is it a ClassNotFoundException or a NoClassDefFoundError that you are > experiencing? Can you provide a stack trace? > > Regards, > Thomas Hallgren > > > Darren Govoni wrote: >> Hi, >> >> Running pljava 1.1 with postgres 8.0.3. >> >> I have a single jar that contains all my classes. One class >> 'SocketImpl', is dynamically loaded, however >> pljava throws a class not found exception when I try to execute a >> function on a class that statically initializes >> with 'SocketImpl'. Any tips very appreciated! >> >> Cheers, >> Darren >> _______________________________________________ >> Pljava-dev mailing list >> Pljava-dev at gborg.postgresql.org >> http://gborg.postgresql.org/mailman/listinfo/pljava-dev >> >