We are using Jonas2.1 under NT4.0. for a while,
all our developed EJBs are running without any proplem. Yesterday we
installed Jonas on Linux running the same Java virtual machine (version
1.2.2) and the same configurations like on NT. Jonas even starts perfectly
with all our Beans, but using some of the Beans are causing the following
exception (no exception under NT).

postinvoke: System Exception in a home
method:java.lang.StringIndexOutOfBoundsException: String index out of range:
-1

Look also at the end of the mail for the used code in the
EquipmentSessionBean where the exception occurs:


more details:

JOnAS Server, version 2.1.1, running on rmi.
Mapping datasource jdbc:oracle:thin:@128.0.0.13:1521 on jdbc_1
EJBHome:SessionBeans.AddTrackingUnitSession.JOnASAddTrackingUnitSessionBeanH
ome for AddTrackingUnitSessionBean available
EJBHome:SessionBeans.CreatePJobSession.JOnASCreatePJobSessionBeanHome for
CreatePJobSessionBean available
EJBHome:SessionBeans.EquipmentSession.JOnASEquipmentSessionBeanHome for
EquipmentSessionBean available
EJBHome:EntityBeans.EquipmentEntity.JOnASEquipmentEntityBeanHome for
EquipmentEntityBean available
EJBHome:SessionBeans.GetPJobContentsSession.JOnASGetPJobContentsSessionBeanH
ome for GetPJobContentsSessionBean available
EJBHome:SessionBeans.PJobTypeSession.JOnASPJobTypeSessionBeanHome for
PJobTypeSessionBean available
EJBHome:EntityBeans.PJobTypeEntity.JOnASPJobTypeEntityBeanHome for
PJobTypeEntityBean available
EJBHome:SessionBeans.ProcessJobSession.JOnASProcessJobSessionBeanHome for
ProcessJobSessionBean available
EJBHome:EntityBeans.ProcessJobEntity.JOnASProcessJobEntityBeanHome for
ProcessJobEntityBean available
EJBHome:SessionBeans.TrackingUnitSession.JOnASTrackingUnitSessionBeanHome
for TrackingUnitSessionBean available
EJBHome:EntityBeans.TrackingUnitEntity.JOnASTrackingUnitEntityBeanHome for
TrackingUnitEntityBean available
EJBHome:SessionBeans.GetPJobListSession.JOnASGetPJobListSessionBeanHome for
GetPJobListSessionBean available
EJBServer is ready
-> setSessionContext()
<- setSessionContext()
 -> run
CMD/A="createPJob" APPLICATION/A="GUI" CONTENTS/L[2]=[EQ_NAME/A="STEPPER-9"
PJOB_TYPE/I4=1]
Connecting to the ProcessJobSessionHome and create a ProcessJobSession
-> getHome()
 ... for ProcessJobSessionHome interface
SessionBeans.ProcessJobSession.ProcessJobSessionHome
<- getHome()
Connected to ProcessJobSessionHome and ProcessJobSession created
Connecting to the EquipmentSessionHome and create a EquipmentSession
-> getHome()
 ... for EquipmentSessionHome interface
SessionBeans.EquipmentSession.EquipmentSessionHome
<- getHome()
Connected to EquipmentSessionHome and EquipmentSession created
Connecting to the PJobTypeSessionHome and create a PJobTypeSession
-> getHome()
 ... for PJobTypeSessionHome interface
SessionBeans.PJobTypeSession.PJobTypeSessionHome
<- getHome()
Connected to PJobTypeSessionHome and PJobTypeSession created
Look for EQ_ID in VfeiString 
no EQ_ID  in VfeiString found
... but EQ_NAME = (STEPPER-9) found.
-> setSessionContext()
<- setSessionContext()
-> getHome()
 ... for EquipmentEntityHome interface
EntityBeans.EquipmentEntity.EquipmentEntityHome
ESB1 jndiContext:javax.naming.InitialContext@32692812
ESB2
<- getHome()
-> getFirstEntityByName()
1
2
-> getHome()
 ... for EquipmentEntityHome interface
EntityBeans.EquipmentEntity.EquipmentEntityHome
ESB1 jndiContext:javax.naming.InitialContext@2d052812
ESB2
<- getHome()
1 name = STEPPER-9

postinvoke: System Exception in a home
method:java.lang.StringIndexOutOfBoundsException: String index out of range:
-1
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is: 
        javax.transaction.TransactionRolledbackException: System exception
in business method
javax.transaction.TransactionRolledbackException: System exception in
business method
        at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC
all.java:245)
        at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java,
Compiled Code)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java, Compiled Code)
        at org.objectweb.jonas.rmifilters.RemoteStub.invoke(RemoteStub.java,
Compiled Code)
        at
EntityBeans.EquipmentEntity.JOnASEquipmentEntityBeanHome_Stub.findByNAME(JOn
ASEquipmentEntityBeanHome_Stub.java:216)
        at
SessionBeans.EquipmentSession.EquipmentSessionBean.getFirstEntityByName(Equi
pmentSessionBean.java:355)
        at
SessionBeans.EquipmentSession.JOnASEquipmentSessionBeanRemote.getFirstEntity
ByName(JOnASEquipmentSessionBeanRemote.java:333)
        at
SessionBeans.EquipmentSession.JOnASEquipmentSessionBeanRemote_Skel.dispatch(
JOnASEquipmentSessionBeanRemote_Skel.java:309)
        at
sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java, Compiled
Code)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java,
Compiled Code)
        at sun.rmi.transport.Transport$1.run(Transport.java, Compiled Code)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java, Compiled
Code)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
System Exception in business method:javax.ejb.EJBException
Cannot set transaction as rollback only
java.rmi.ServerException: RemoteException occurred in server thread; nested
exception is: 
        javax.transaction.TransactionRolledbackException: System exception
in business method
javax.transaction.TransactionRolledbackException: System exception in
business method
        at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteC
all.java, Compiled Code)
        at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java,
Compiled Code)
        at sun.rmi.server.UnicastRef.invoke(UnicastRef.java, Compiled Code)
        at org.objectweb.jonas.rmifilters.RemoteStub.invoke(RemoteStub.java,
Compiled Code)
        at
SessionBeans.EquipmentSession.JOnASEquipmentSessionBeanRemote_Stub.getFirstE
ntityByName(JOnASEquipmentSessionBeanRemote_Stub.java:398)
        at
SessionBeans.CreatePJobSession.CreatePJobSessionBean.run(CreatePJobSessionBe
an.java:152)
        at
SessionBeans.CreatePJobSession.JOnASCreatePJobSessionBeanRemote.run(JOnASCre
atePJobSessionBeanRemote.java:55)
        at
SessionBeans.CreatePJobSession.JOnASCreatePJobSessionBeanRemote_Skel.dispatc
h(JOnASCreatePJobSessionBeanRemote_Skel.java:119)
        at
sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java, Compiled
Code)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java,
Compiled Code)
        at sun.rmi.transport.Transport$1.run(Transport.java, Compiled Code)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java, Compiled
Code)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
Exception: javax.ejb.EJBException
System exc. => Rollback the transaction.
System Exception in business method:javax.ejb.EJBException
javax.naming.NameNotFoundException: PJobTypeEntityHome
        at
com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java,
Compiled Code)
        at
com.sun.jndi.rmi.registry.RegistryContext.lookup(RegistryContext.java,
Compiled Code)
        at javax.naming.InitialContext.lookup(InitialContext.java, Compiled
Code)
        at
SessionBeans.PJobTypeSession.PJobTypeSessionBean.getHome(PJobTypeSessionBean
.java:436)
        at
SessionBeans.PJobTypeSession.PJobTypeSessionBean.ejbCreate(PJobTypeSessionBe
an.java:395)
        at
SessionBeans.PJobTypeSession.JOnASPJobTypeSessionBeanHome.callejbCreate(JOnA
SPJobTypeSessionBeanHome.java:66)
        at
org.objectweb.jonas.container.JBeanSession.createContext(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.getContextFromPool(JBeanSession.j
ava, Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.getContext(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.removeInstance(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JSessionHome.unregister(JSessionHome.java,
Compiled Code)
        at
org.objectweb.jonas.container.JContainerImpl.removeBeans(JContainerImpl.java
, Compiled Code)
        at
org.objectweb.jonas.container.EJBServiceImpl.removeContainer(EJBServiceImpl.
java, Compiled Code)
        at
org.objectweb.jonas.container.EJBServiceImpl.removeContainers(EJBServiceImpl
.java:171)
        at org.objectweb.jonas.adm.Adm.stopServer(Adm.java:220)
        at org.objectweb.jonas.adm.Adm_Skel.dispatch(Unknown Source)
        at
sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java, Compiled
Code)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java,
Compiled Code)
        at sun.rmi.transport.Transport$1.run(Transport.java, Compiled Code)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java, Compiled
Code)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)
Remote Exception caught on setSessionContext
Get the following exception on ejbRemove
java.rmi.RemoteException: Exception thrown in ejbCreate()
        at
SessionBeans.PJobTypeSession.JOnASPJobTypeSessionBeanHome.callejbCreate(JOnA
SPJobTypeSessionBeanHome.java:68)
        at
org.objectweb.jonas.container.JBeanSession.createContext(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.getContextFromPool(JBeanSession.j
ava, Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.getContext(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JBeanSession.removeInstance(JBeanSession.java,
Compiled Code)
        at
org.objectweb.jonas.container.JSessionHome.unregister(JSessionHome.java,
Compiled Code)
        at
org.objectweb.jonas.container.JContainerImpl.removeBeans(JContainerImpl.java
, Compiled Code)
        at
org.objectweb.jonas.container.EJBServiceImpl.removeContainer(EJBServiceImpl.
java, Compiled Code)
        at
org.objectweb.jonas.container.EJBServiceImpl.removeContainers(EJBServiceImpl
.java:171)
        at org.objectweb.jonas.adm.Adm.stopServer(Adm.java:220)
        at org.objectweb.jonas.adm.Adm_Skel.dispatch(Unknown Source)
        at
sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java, Compiled
Code)
        at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java,
Compiled Code)
        at sun.rmi.transport.Transport$1.run(Transport.java, Compiled Code)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Transport.java, Compiled
Code)
        at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java,
Compiled Code)
        at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java,
Compiled Code)
        at java.lang.Thread.run(Thread.java, Compiled Code)



----------------------------------------------------------------------------
-------------------------------------

the code where the exception occurs:

/* *************************************************************************
*/
        /** Get first entity by name 
        */
        public EJBObject getFirstEntityByName(String name)
        {
                log("-> getFirstEntityByName()");
                
                Enumeration enum = null;                
                try {
                        log("1 name = " + name);
                        enum  = home.findByNAME(name);
                        log("2 enum = " + enum);
                }
                catch(RemoteException e)
                {
                        e.printStackTrace();
                        throw new EJBException(e);
                }
                catch(FinderException e)
                {
                        e.printStackTrace();
                        throw new EJBException(e);
                }

                log("<- getFirstEntityByName()");
                if (enum.hasMoreElements())
                {
                        return (EJBObject)enum.nextElement();
                }
                else
                {
                        return null;
                }
        }


----
To unsubscribe, send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe jonas-users".
For general help, send email to [EMAIL PROTECTED] and
include in the body of the message "help".

Reply via email to