[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ozone &servlets



Here are the stack traces , the first time it says cant find the Proxy to
create
then the print delete are null ok

the second it finds the Proxy (does it realy?? or since the object already
exists it doesnt care about the Proxy?)
but then it cant find the Proxy for printing ... if thats the problem thats
fine ...
whats confusing is that for the second delete it gives a null ... so the
second time it says that the object is there
and that the object is not there !

the server throws an exception from the second call to the servlet ...

[info] (599) InvokeServer: connection established...
[info] (167) InvokeServer: user logged in: scecp2
[warn] (167) Transaction: ta(11): uncaught exception:
(org.ozoneDB.PermissionDeniedExc: Root object name 'my_first_car' already
exists.)
    org.ozoneDB.PermissionDeniedExc: Root object name 'my_first_car' alrea
            dy exists.
        at org.ozoneDB.core.Transaction.nameObject(Transaction.java:533)
        at org.ozoneDB.core.Transaction.createObject(Transaction.java:389)
        at org.ozoneDB.core.DbRemote.DbCreateObj.perform(DbCreateObj.java:48)

        at org.ozoneDB.core.Transaction.performCommand(Transaction.java:265)
        at org.ozoneDB.core.TransactionManager.performCommand(TransactionMana

            ger.java:348)
        at org.ozoneDB.core.TransactionManager.completeTransaction(Transactio

            nManager.java:315)
        at org.ozoneDB.core.TransactionManager.handleCommand(TransactionManag

            er.java:230)
        at org.ozoneDB.core.InvokeServer.handleClientEvent(InvokeServer.java:

            75)
        at org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.

            java:41)
        at java.lang.Thread.run(Thread.java:475)
[info] (167) InvokeServer: connection closed (user: scecp2)


*************************
STACK TRACE WITH NEW DB
**************************

Connected ...
Reloading ...
Create object ...
Could not Create Object in Ozone !!
Error :CarImpl_Proxy
Stack :
java.lang.ClassNotFoundException: CarImpl_Proxy
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:977)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:228)
        at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:83)
        at
org.ozoneDB.core.DbRemote.DbRemoteClient.receive(DbRemoteClient.java:36)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:395)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
        at
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:615)
        at
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:609)
        at MyApp.createCar(MyApp.java:56)
        at MyApp.doGet(MyApp.java:23)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)

Print ...
Can not print !!
Error :null
Stack :
java.io.OptionalDataException
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:271)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:228)
        at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:83)
        at
org.ozoneDB.core.DbRemote.DbRemoteClient.receive(DbRemoteClient.java:36)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:395)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
        at
org.ozoneDB.ExternalDatabase.objectForName(ExternalDatabase.java:635)
        at MyApp.printCar(MyApp.java:75)
        at MyApp.doGet(MyApp.java:25)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)
Delete ...
Could not delete object in Ozone !!
Error :null
Stack :
java.io.OptionalDataException
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:271)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:228)
        at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:83)
        at
org.ozoneDB.core.DbRemote.DbRemoteClient.receive(DbRemoteClient.java:36)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:395)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
        at
org.ozoneDB.ExternalDatabase.objectForName(ExternalDatabase.java:635)
        at MyApp.deleteCar(MyApp.java:94)
        at MyApp.doGet(MyApp.java:27)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)
Close ...


******************************************************
AND STACK TRACE OF THE SECOND TIME I CALL THE SERVLET
*****************************************************

 Connected ...
Reloading ...
Create object ...
Could not Create Object in Ozone !!
Error :Root object name 'my_first_car' already exists.
Stack :
org.ozoneDB.PermissionDeniedExc: Root object name 'my_first_car' already
exists.
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:402)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
        at
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:615)
        at
org.ozoneDB.ExternalDatabase.createObject(ExternalDatabase.java:609)
        at MyApp.createCar(MyApp.java:56)
        at MyApp.doGet(MyApp.java:23)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)
Print ...
Can not print !!
Error :CarImpl_Proxy
Stack :
java.lang.ClassNotFoundException: CarImpl_Proxy
        at java.io.ObjectInputStream.inputObject(ObjectInputStream.java:977)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:228)
        at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:83)
        at
org.ozoneDB.core.DbRemote.DbRemoteClient.receive(DbRemoteClient.java:36)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:395)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)
        at
org.ozoneDB.ExternalDatabase.objectForName(ExternalDatabase.java:635)
        at MyApp.printCar(MyApp.java:75)
        at MyApp.doGet(MyApp.java:25)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)
Delete ...
Could not delete object in Ozone !!
Error :null
Stack :
java.io.OptionalDataException
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:271)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:228)
        at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:83)
        at
org.ozoneDB.core.DbRemote.DbRemoteClient.receive(DbRemoteClient.java:36)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:395)
        at
org.ozoneDB.ExternalDatabase.sendCommand(ExternalDatabase.java:376)    at
org.ozoneDB.ExternalDatabase.objectForName(ExternalDatabase.java:635)
        at MyApp.deleteCar(MyApp.java:94)
        at MyApp.doGet(MyApp.java:27)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:597)
        at
org.apache.tomcat.servlets.InvokerServlet.service(InvokerServlet.java:257)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503)
        at
org.apache.tomcat.core.ContextManager.service(ContextManager.java:559)
        at
org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:160)

        at
org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338)

        at java.lang.Thread.run(Thread.java:475)
Close ...

Braeutigam wrote:

> On Tue, 27 Feb 2001, Charilaos Pasantonopoulos wrote:
> > Hello,
> >
> > I tried turning the tutorial example to a servlet. I use Tomcat,
> > I added the ozoneEnv in the tomcat startup script and everything should
> > be fine
> > but, when I run the servlet the connection is opened and closed ok but
> > the
> > create , print and delete does not work.
> > In a new Db (ozoneInst)
> > the create Car throws Exception Error: CarImpl_Proxy
>
> do you have a (server and/or client) stacktrace of this exception?
>
> Falko
>
> > the print Error:null and
> > the Delete Error:null.
> > the second time the servlet is called
> > the create throws Error:Root object name 'my_first_car' already exists
> > ????
> > the print Error:CarImpl_Proxy and
> > the delete Error:null.
> > It seems to me that ozone can not decide whether it has created the
> > object or not,
> > if the object is in the Db or not etc.
> >
> > can anybody understand what is going on ????
> >
> >
> > import org.ozoneDB.*;
> > import javax.servlet.*;
> > import javax.servlet.http.*;
> > import java.io.*;
> >
> > public class MyApp extends HttpServlet {
> >
> >     private static ExternalDatabase db;
> >
> >     public void doGet( HttpServletRequest req, HttpServletResponse res )
> >
> >     throws ServletException, IOException
> >     // main( String[] args ) throws Exception
> >     {
> >
> >        res.setContentType("text/html");
> >
> >        ServletOutputStream out = res.getOutputStream();
> >
> >
> > out.println("<HTML><HEAD><TITLE>TEST</TITLE></HEAD><BODY>Hello</BODY>");
> >
> >             createDb();
> >
> >             createCar();
> >
> >             printCar(out);
> >
> >             deleteCar();
> >
> >
> >             closeDb();
> >
> >     }
> >
> >     public static void createDb()
> >     {
> >         try{
> >         // create and open a new database connection
> >         db = ExternalDatabase.openDatabase(
> > "ozonedb:remote://localhost:3333" );
> >         System.out.println( "Connected ..." );
> >         System.out.println( "Reloading ..." );
> >         db.reloadClasses();
> >         }catch( Exception e)
> >         {
> >           System.out.println("Could not open Ozone !!!");
> >           System.out.println("Error :"+e.getMessage());
> >         }
> >     }
> >
> >     public static void createCar() {
> >         try{
> >         // create a new Car object with the name "my_first_car"
> >         // the return value is Car_proxy, which implements the
> > Car-interface
> >         System.out.println( "Create object ..." );
> >         Car car = (Car)(db.createObject( CarImpl.class.getName(), 0,
> >                 "my_first_car" ));
> >         System.out.println( "Set values ..." );
> >         car.setName( "gottfried" );
> >         car.setYearOfConst( 1957 );
> >         }catch( Exception e)
> >         {
> >           System.out.println("Could not Create Object in Ozone !!");
> >           System.out.println("Error :"+e.getMessage());
> >         }
> >
> >
> >     }
> >
> >     public static void printCar(ServletOutputStream out) {
> >         try{
> >         System.out.println( "Print ..." );
> >         Car car = (Car)(db.objectForName( "my_first_car" ));
> >         if (car != null) {
> >             out.println( "The car " + car.name() + " is "
> >                     + car.age() + " years old." );
> >         } else {
> >             out.println( "Object my_first_car not found." );
> >         }
> >         }catch( Exception e)
> >         {
> >           System.out.println("Can not print !!");
> >           System.out.println("Error :"+e.getMessage());
> >         }
> >     }
> >
> >     public static void deleteCar()  {
> >         try{
> >         System.out.println( "Delete ..." );
> >         Car car = (Car)(db.objectForName( "my_first_car" ));
> >         if (car != null) {
> >             db.deleteObject( car );
> >         } else {
> >             System.out.println( "Object my_first_car not found." );
> >         }
> >         }catch( Exception e)
> >         {
> >           System.out.println("Could not delete object in Ozone !!");
> >           System.out.println("Error :"+e.getMessage());
> >         }
> >     }
> >
> >     public static void closeDb()
> >     {
> >       try{
> >             System.out.println( "Close ..." );
> >             db.close();
> >             }catch( Exception e )
> >             {
> >              System.out.println("Could not close Ozone !!");
> >              System.out.println("Error :"+e.getMessage());
> >             }
> >     }
> >
> >      public String getServletInfo() {
> >         return "Ozone-Servlet test";
> >      }
> >
> >
> > }
> --
> ______________________________________________________________________
> Falko Braeutigam                              mailto:falko@smb-tec.com
> SMB GmbH                                        http://www.smb-tec.com