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

Re: InstantiationException -- need guidance



On Sun, 21 Jan 2001, Neil Aggarwal wrote:
> >%_Hello All:
> 
> In one of my database classes for a test application that
> I am writing, I am getting the exception below on my server
> process.
> 
> The problem is occurring when I try to create a new database
> object from within a method on a current database
> object.  In my example, I have a pre-existing PersonInfo
> object which is trying to create a PersonName object.
> 
> In my PersonInfo object, I have this method:
>   public void addToNames(String name) throws Exception {
>     if( names == null )
>       names = new OrderedSet();
>     PersonName personName = (PersonName)
> database().createObject(PersonName.class.getName());
>     personName.setName(name);
>     names.add(personName);
>   }
> 
> The failure is occurring on the database().createObject() call.
> 
> I did a fresh checkout from the CVS sources and build just now,
> so this is the current code.
> 
> I am still trying to trace it down, but I went thru the
> class.newInstance() call in my debugger and it was fine and
> went back into the Server code for the next Event from the
> Client.  But, since there is a lot of code here and I am not
> very familiar with it, I am hoping that someone can guide
> me on what to look for. 

Your PersonNameImpl does not provide a default (param-less) ctor.


Falko

> 
> I am attaching my sources in case it helps.
> 
> Thanks,
> 	Neil.
> 
> ---------- Exception Log ----------------------
> 
> [warn] (466) Transaction: createObject()
>     java.lang.InstantiationException: persistent.PersonName
>     	at java.lang.Class.newInstance0(Native Method)
>     	at java.lang.Class.newInstance(Class.java:237)
>     	at
> org.ozoneDB.core.AbstractObjectContainer.createTarget(AbstractObje
>             ctContainer.java:227)
>     	at org.ozoneDB.core.Transaction.createObject(Transaction.java:394)
>     	at org.ozoneDB.Database.createObject(Database.java:90)
>     	at org.ozoneDB.Database.createObject(Database.java:73)
>     	at persistent.PersonInfoImpl.addToNames(PersonInfoImpl.java:26)
>     	at java.lang.reflect.Method.invoke(Native Method)
>     	at
> org.ozoneDB.core.AbstractObjectContainer.invokeTarget(AbstractObje
>             ctContainer.java:212)
>     	at org.ozoneDB.core.Transaction.invokeObject(Transaction.java:510)
>     	at org.ozoneDB.core.DbRemote.DbInvoke.perform(DbInvoke.java:62)
>     	at
> org.ozoneDB.core.Transaction.performCommand(Transaction.java:273)
>     	at
> org.ozoneDB.core.TransactionManager.performCommand(TransactionMana
>             ger.java:366)
>     	at
> org.ozoneDB.core.TransactionManager.completeTransaction(Transactio
>             nManager.java:333)
>     	at
> org.ozoneDB.core.TransactionManager.handleCommand(TransactionManag
>             er.java:249)
>     	at
> org.ozoneDB.core.InvokeServer.handleClientEvent(InvokeServer.java:
>             76)
>     	at
> org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.
>             java:41)
>     	at java.lang.Thread.run(Thread.java:484)
> [warn] (466) Transaction: ta(111): uncaught exception:
> (org.ozoneDB.OzoneInternalExc: java.lang.InstantiationException:
> persistent.PersonName)
>     org.ozoneDB.OzoneInternalExc: java.lang.InstantiationException:
> persis
>             tent.PersonName
>     	at org.ozoneDB.core.Transaction.createObject(Transaction.java:409)
>     	at org.ozoneDB.Database.createObject(Database.java:90)
>     	at org.ozoneDB.Database.createObject(Database.java:73)
>     	at persistent.PersonInfoImpl.addToNames(PersonInfoImpl.java:26)
>     	at java.lang.reflect.Method.invoke(Native Method)
>     	at
> org.ozoneDB.core.AbstractObjectContainer.invokeTarget(AbstractObje
>             ctContainer.java:212)
>     	at org.ozoneDB.core.Transaction.invokeObject(Transaction.java:510)
>     	at org.ozoneDB.core.DbRemote.DbInvoke.perform(DbInvoke.java:62)
>     	at
> org.ozoneDB.core.Transaction.performCommand(Transaction.java:273)
>     	at
> org.ozoneDB.core.TransactionManager.performCommand(TransactionMana
>             ger.java:366)
>     	at
> org.ozoneDB.core.TransactionManager.completeTransaction(Transactio
>             nManager.java:333)
>     	at
> org.ozoneDB.core.TransactionManager.handleCommand(TransactionManag
>             er.java:249)
>     	at
> org.ozoneDB.core.InvokeServer.handleClientEvent(InvokeServer.java:
>             76)
>     	at
> org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.
>             java:41)
>     	at java.lang.Thread.run(Thread.java:484)
> [warn] (466) TransactionManager: Aborting transaction failed: ta(111)
>     java.io.IOException: Unable to rename shadow file.
>     	at
> org.ozoneDB.core.wizardStore.Cluster.restoreShadow(Cluster.java:28
>             0)
>     	at org.ozoneDB.core.wizardStore.Cluster.abort(Cluster.java:197)
>     	at
> org.ozoneDB.core.wizardStore.ClusterStore.abortCluster(ClusterStor
>             e.java:593)
>     	at
> org.ozoneDB.core.wizardStore.WizardStore.abortTransaction(WizardSt
>             ore.java:678)
>     	at org.ozoneDB.core.Transaction.abort(Transaction.java:337)
>     	at
> org.ozoneDB.core.TransactionManager.abortTransaction(TransactionMa
>             nager.java:516)
>     	at
> org.ozoneDB.core.TransactionManager.completeTransaction(Transactio
>             nManager.java:338)
>     	at
> org.ozoneDB.core.TransactionManager.handleCommand(TransactionManag
>             er.java:249)
>     	at
> org.ozoneDB.core.InvokeServer.handleClientEvent(InvokeServer.java:
>             76)
>     	at
> org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.
>             java:41)
>     	at java.lang.Thread.run(Thread.java:484)
> [error](466) TransactionManager: handleCommand(): java.io.IOException:
> Unable to rename shadow file.
>     java.io.IOException: Unable to rename shadow file.
>     	at
> org.ozoneDB.core.wizardStore.Cluster.restoreShadow(Cluster.java:28
>             0)
>     	at org.ozoneDB.core.wizardStore.Cluster.abort(Cluster.java:197)
>     	at
> org.ozoneDB.core.wizardStore.ClusterStore.abortCluster(ClusterStor
>             e.java:593)
>     	at
> org.ozoneDB.core.wizardStore.WizardStore.abortTransaction(WizardSt
>             ore.java:678)
>     	at org.ozoneDB.core.Transaction.abort(Transaction.java:337)
>     	at
> org.ozoneDB.core.TransactionManager.abortTransaction(TransactionMa
>             nager.java:516)
>     	at
> org.ozoneDB.core.TransactionManager.completeTransaction(Transactio
>             nManager.java:338)
>     	at
> org.ozoneDB.core.TransactionManager.handleCommand(TransactionManag
>             er.java:249)
>     	at
> org.ozoneDB.core.InvokeServer.handleClientEvent(InvokeServer.java:
>             76)
>     	at
> org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.
>             java:41)
>     	at java.lang.Thread.run(Thread.java:484)
> [warn] (466) InvokeServer: handleClientException():
> java.net.SocketException: Connection reset by peer: JVM_recv in socket
> input stream read
>     java.net.SocketException: Connection reset by peer: JVM_recv in
> socket
>              input stream read
>     	at java.net.SocketInputStream.socketRead(Native Method)
>     	at java.net.SocketInputStream.read(SocketInputStream.java:86)
>     	at java.io.BufferedInputStream.fill(BufferedInputStream.java:186)
>     	at java.io.BufferedInputStream.read(BufferedInputStream.java:204)
>     	at java.io.ObjectInputStream.peekCode(ObjectInputStream.java:1549)
>     	at java.io.ObjectInputStream.refill(ObjectInputStream.java:1683)
>     	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:283)
>     	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
>     	at org.ozoneDB.DxLib.net.DxClient.receive(DxClient.java:109)
>     	at
> org.ozoneDB.DxLib.net.DxMultiServerClient.run(DxMultiServerClient.
>             java:41)
>     	at java.lang.Thread.run(Thread.java:484)
> 
> 
> 
> --
> Neil Aggarwal
> JAMM Consulting, Inc. -- (972) 612-6056, http://www.JAMMConsulting.com
> Custom Internet Development -- Java, JSP, servlets, databases

----------------------------------------
Content-Type: application/x-javascript; name="OzoneTest.java"
Content-Transfer-Encoding: 7bit
Content-Description: 
----------------------------------------

----------------------------------------
Content-Type: application/x-javascript; name="PersonInfo.java"
Content-Transfer-Encoding: 7bit
Content-Description: 
----------------------------------------

----------------------------------------
Content-Type: application/x-javascript; name="PersonInfoImpl.java"
Content-Transfer-Encoding: 7bit
Content-Description: 
----------------------------------------

----------------------------------------
Content-Type: application/x-javascript; name="PersonName.java"
Content-Transfer-Encoding: 7bit
Content-Description: 
----------------------------------------

----------------------------------------
Content-Type: application/x-javascript; name="PersonNameImpl.java"
Content-Transfer-Encoding: 7bit
Content-Description: 
----------------------------------------

-- 
______________________________________________________________________
Falko Braeutigam                              mailto:falko@smb-tec.com
SMB GmbH                                        http://www.smb-tec.com