agora inbox for pljava-dev@postgresql.org  
help / color / mirror / Atom feed
Subject: [Pljava-dev] Cannot find dynamic class
Date: Sat, 25 Mar 2006 12:22:14 -0500
Message-ID: <44257C46.6070701@metadapt.com> (raw)
In-Reply-To: <4424F664.7060105@tada.se>
References: <4424C5C3.4000500@metadapt.com>
	<4424F664.7060105@tada.se>

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





view thread (5+ messages)  latest in thread

Message-ID: <44257C46.6070701@metadapt.com>
Permalink:  ../44257C46.6070701@metadapt.com/
Also on:    postgresql.org/message-id/44257C46.6070701@metadapt.com

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pljava-dev@postgresql.org
  Subject: Re: [Pljava-dev] Cannot find dynamic class
  In-Reply-To: <44257C46.6070701@metadapt.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox