[Pljava-dev] Cannot find dynamic class

From: dgovoni at metadapt(dot)com (Darren Govoni)
To:
Subject: [Pljava-dev] Cannot find dynamic class
Date: 2006-03-25 17:22:14
Message-ID: 44257C46.6070701@metadapt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pljava-dev

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
>>
>

In response to

Responses

Browse pljava-dev by date

  From Date Subject
Next Message Thomas Hallgren 2006-03-25 20:15:40 [Pljava-dev] Cannot find dynamic class
Previous Message Thomas Hallgren 2006-03-25 07:51:00 [Pljava-dev] Cannot find dynamic class