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