[jboss-user] [EJB 3.0] - [Jboss 4.2.2GA] [EJB 3.0 - SFSB] [javax.ejb.EJBException: Co

singhannie do-not-reply at jboss.com
Thu Jan 29 02:19:57 EST 2009


I have developed an application (ejb-jar with one SFSB), which is working find with glassfish, when I deploy this jar file in JBOSS, Jboss give following exception...
Although Exception is misleading but one thing is sure that Exception occurs just after PostPassivate method of SFSB.
One more interesting thing is that application is working fine even after exception has occured.

So please help me champs, I have banging my head against this for last 5-6 days.

Exception:

  | java.lang.reflect.InvocationTargetException
  |         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  |         at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  |         at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
  |         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  |         at org.jboss.serial.io.MarshalledObject.<init>(MarshalledObject.java:51)
  |         at org.jboss.ejb3.stateful.StatefulBeanContext.writeExternal(StatefulBeanContext.java:857)
  |         at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
  |         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  |         at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:390
  | )
  |         at org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:301)
  |         at org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:209)
  | Caused by: java.io.IOException
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
  |         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  |         at EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArrayList.writeObject(CopyOnWriteArrayList.java:772)
  |         ... 84 more
  | Caused by: java.lang.reflect.InvocationTargetException
  |         at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:597)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
  |         ... 101 more
  | Caused by: java.lang.NoClassDefFoundError: org/jaxen/VariableContext
  |         at java.lang.Class.getDeclaredMethods0(Native Method)
  |         at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
  |         at java.lang.Class.getDeclaredMethod(Class.java:1935)
  |         at org.jboss.serial.classmetamodel.ClassMetaData.lookupMethodOnHierarchy(ClassMetaData.java:102)
  |         at org.jboss.serial.classmetamodel.ClassMetaData.lookupInternalMethods(ClassMetaData.java:432)
  |         at org.jboss.serial.classmetamodel.ClassMetaData.<init>(ClassMetaData.java:122)
  |         at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:350)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:168)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  |         at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.ObjectOutputStreamProxy.writeFields(ObjectOutputStreamProxy.java:79)
  |         at org.jboss.serial.persister.ObjectOutputStreamProxy.defaultWriteObject(ObjectOutputStreamProxy.java:68)
  |         at java.util.Vector.writeObject(Vector.java:1012)
  |         ... 105 more
  | Caused by: java.lang.ClassNotFoundException: org.jaxen.VariableContext
  |         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  |         at java.security.AccessController.doPrivileged(Native Method)
  |         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  |         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  |         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  |         at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  |         ... 122 more
  | 14:51:43,386 ERROR [STDERR] java.lang.reflect.InvocationTargetException
  | 14:51:43,386 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 14:51:43,386 ERROR [STDERR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 14:51:43,401 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 14:51:43,401 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:597)
  | 14:51:43,401 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
  | 14:51:43,401 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
  | 14:51:43,417 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,417 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,417 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,432 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,432 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,432 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,448 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,448 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,464 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,464 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,464 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,464 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,479 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,479 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,479 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,479 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,495 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,495 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,495 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,511 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,511 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,511 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,511 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,526 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  | 14:51:43,526 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  | 14:51:43,526 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,542 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,542 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,542 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,542 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,557 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,557 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,557 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,573 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,573 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,573 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,573 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,589 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,589 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,589 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,589 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,604 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,604 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,604 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,604 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,620 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,620 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,620 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,636 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,636 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,636 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,636 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,651 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,651 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,651 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,651 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,667 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,667 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,667 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,682 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,682 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,682 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,698 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  | 14:51:43,698 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  | 14:51:43,698 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,698 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,714 ERROR [STDERR]     at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
  | 14:51:43,714 ERROR [STDERR]     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  | 14:51:43,714 ERROR [STDERR]     at org.jboss.serial.io.MarshalledObject.<init>(MarshalledObject.java:51)
  | 14:51:43,729 ERROR [STDERR]     at org.jboss.ejb3.stateful.StatefulBeanContext.writeExternal(StatefulBeanContext.java:857)
  | 14:51:43,729 ERROR [STDERR]     at org.jboss.serial.persister.ExternalizePersister.writeData(ExternalizePersister.java:58)
  | 14:51:43,729 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,745 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,745 ERROR [STDERR]     at org.jboss.serial.io.JBossObjectOutputStream.writeObjectOverride(JBossObjectOutputStream.java:181)
  | 14:51:43,745 ERROR [STDERR]     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  | 14:51:43,761 ERROR [STDERR]     at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePer
  | sistenceManager.java:390)
  | 14:51:43,761 ERROR [STDERR]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:301)
  | 14:51:43,761 ERROR [STDERR]     at org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:209)
  | 14:51:43,761 ERROR [STDERR] Caused by: java.io.IOException
  | 14:51:43,776 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
  | 14:51:43,776 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
  | 14:51:43,776 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,776 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,792 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,792 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,792 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,792 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,807 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,807 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,807 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,823 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  | 14:51:43,823 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 14:51:43,823 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,839 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,839 ERROR [STDERR]     at org.jboss.serial.persister.ObjectOutputStreamProxy.writeObjectOverride(ObjectOutputStreamProxy.java:60)
  | 14:51:43,839 ERROR [STDERR]     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:322)
  | 14:51:43,854 ERROR [STDERR]     at EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArrayList.writeObject(CopyOnWriteArrayList.java:772)
  | 14:51:43,854 ERROR [STDERR]     ... 84 more
  | 14:51:43,854 ERROR [STDERR] Caused by: java.lang.reflect.InvocationTargetException
  | 14:51:43,854 ERROR [STDERR]     at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
  | 14:51:43,854 ERROR [STDERR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | 14:51:43,854 ERROR [STDERR]     at java.lang.reflect.Method.invoke(Method.java:597)
  | 14:51:43,870 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:120)
  | 14:51:43,870 ERROR [STDERR]     ... 101 more
  | 14:51:43,870 ERROR [STDERR] Caused by: java.lang.NoClassDefFoundError: org/jaxen/VariableContext
  | 14:51:43,886 ERROR [STDERR]     at java.lang.Class.getDeclaredMethods0(Native Method)
  | 14:51:43,901 ERROR [STDERR]     at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
  | 14:51:43,901 ERROR [STDERR]     at java.lang.Class.getDeclaredMethod(Class.java:1935)
  | 14:51:43,901 ERROR [STDERR]     at org.jboss.serial.classmetamodel.ClassMetaData.lookupMethodOnHierarchy(ClassMetaData.java:102)
  | 14:51:43,901 ERROR [STDERR]     at org.jboss.serial.classmetamodel.ClassMetaData.lookupInternalMethods(ClassMetaData.java:432)
  | 14:51:43,901 ERROR [STDERR]     at org.jboss.serial.classmetamodel.ClassMetaData.<init>(ClassMetaData.java:122)
  | 14:51:43,917 ERROR [STDERR]     at org.jboss.serial.classmetamodel.ClassMetamodelFactory.getClassMetaData(ClassMetamodelFactory.java:350)
  | 14:51:43,917 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:168)
  |  
  | 14:51:43,917 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,932 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.saveObjectArray(ArrayPersister.java:110)
  | 14:51:43,932 ERROR [STDERR]     at org.jboss.serial.persister.ArrayPersister.writeData(ArrayPersister.java:101)
  | 14:51:43,932 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |  
  | 14:51:43,948 ERROR [STDERR]     at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:2
  | 06)
  | 14:51:43,948 ERROR [STDERR]     at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  | 14:51:43,948 ERROR [STDERR]     at org.jboss.serial.persister.ObjectOutputStreamProxy.writeFields(ObjectOutputStreamProxy.java:79)
  | 14:51:43,948 ERROR [STDERR]     at org.jboss.serial.persister.ObjectOutputStreamProxy.defaultWriteObject(ObjectOutputStreamProxy.java:68)
  | 14:51:43,964 ERROR [STDERR]     at java.util.Vector.writeObject(Vector.java:1012)
  | 14:51:43,964 ERROR [STDERR]     ... 105 more
  | 14:51:43,964 ERROR [STDERR] Caused by: java.lang.ClassNotFoundException: org.jaxen.VariableContext
  | 14:51:43,964 ERROR [STDERR]     at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
  | 14:51:43,964 ERROR [STDERR]     at java.security.AccessController.doPrivileged(Native Method)
  | 14:51:43,979 ERROR [STDERR]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
  | 14:51:43,979 ERROR [STDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
  | 14:51:43,979 ERROR [STDERR]     at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
  | 14:51:43,979 ERROR [STDERR]     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
  | 14:51:43,979 ERROR [STDERR]     ... 122 more
  | 14:51:43,995 ERROR [ConnectAndSendCommandBean] problem passivation thread
  | javax.ejb.EJBException: Could not passivate; failed to save state
  |         at org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:406
  | )
  |         at org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:301)
  |         at org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:209)
  | Caused by: java.io.IOException
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithMethod(RegularObjectPersister.java:129)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:86)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  |         at org.jboss.serial.objectmetamodel.ObjectDescriptorFactory.describeObject(ObjectDescriptorFactory.java:276)
  |         at org.jboss.serial.objectmetamodel.DataContainer$DataContainerDirectOutput.writeObject(DataContainer.java:206)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeSlotWithFields(RegularObjectPersister.java:182)
  |         at org.jboss.serial.persister.RegularObjectPersister.defaultWrite(RegularObjectPersister.java:90)
  |         at org.jboss.serial.persister.RegularObjectPersister.writeData(RegularObjectPersister.java:62)
  | 


Code of SFSB is 


  | /*
  |  * To change this template, choose Tools | Templates
  |  * and open the template in the editor.
  |  */
  | 
  | package com.mps.Connection;
  | 
  | import com.mps.common.neconnection.NEConnection;
  | import com.mps.common.neconnection.NeConnectionConstants;
  | import com.mps.convertor.CommandConvertor;
  | import com.mps.corbaconnection.client.SendCmdToCorbaConnection;
  | import com.mps.mpsengine.LoggerConfig;
  | import java.io.File;
  | import java.io.FileInputStream;
  | import java.io.FileNotFoundException;
  | import java.io.FileOutputStream;
  | import java.io.IOException;
  | import java.io.InputStream;
  | import java.io.ObjectInputStream;
  | import java.io.ObjectOutputStream;
  | import java.io.PrintStream;
  | import java.text.SimpleDateFormat;
  | import java.util.Date;
  | import java.util.HashMap;
  | import java.util.logging.Level;
  | import java.util.logging.Logger;
  | import javax.annotation.PostConstruct;
  | import javax.annotation.PreDestroy;
  | import javax.ejb.PostActivate;
  | import javax.ejb.PrePassivate;
  | import javax.ejb.PrePassivate;
  | import javax.jms.JMSException;
  | import javax.jms.Queue;
  | import javax.jms.QueueConnection;
  | import javax.jms.QueueConnectionFactory;
  | import javax.jms.QueueSender;
  | import javax.jms.QueueSession;
  | import javax.jms.TextMessage;
  | import javax.naming.InitialContext;
  | import javax.naming.NamingException;
  | import javax.ejb.Stateful;
  | import org.w3c.dom.Document;
  | /** 
  |  * Class Revision History:
  |  * VERSION	   DATE		  AUTHOR/MODIFIER	 COMMENT
  |  *-----------------------------------------------------------------------
  |  *
  |  * 1.0          21-Aug, 2008        Puneet Rana         Initial code
  |  */
  | /**
  |  * 
  |  * This class would help to make connection with different NE's which 
  |  * are configured and also help to send the command to the Connected NE's.
  |  */
  | /**
  |  *s
  |  * @author gur13368
  |  */
  | @Stateful(mappedName = "ConnectAndSendCommand")
  | public class ConnectAndSendCommandBean implements ConnectAndSendCommandRemote 
  | {
  |     /**
  |      * Constant that contain the module name
  |      */
  |     private static final String MODULE_NAME = 
  |             "[CONNECTION MANAGER] com.mps.Connection.ConnectAndSendCommandBean ";
  |     
  | //    private static final String JNDI_LOOKUP_NAME_LOGQUEUE_FACTORY = "jms/mps/LogQueueFactory";
  |     private static final String JNDI_LOOKUP_NAME_LOGQUEUE_FACTORY = "QueueConnectionFactory";
  |     
  | //    private static final String JNDI_LOOKUP_NAME_LOGQUEUE = "jms/mps/LogQueue";
  |     private static final String JNDI_LOOKUP_NAME_LOGQUEUE = "queue/mpsLogQueue";
  |     
  |     private static final String JMS_MSG_LOG_PROP_KEY ="queuename";
  | 
  |     private static final String JMS_MSG_LOG_PROP_VALUE="logQueue";
  |     
  |     private static final String STRING_LOGGER_ON = "on";
  | 
  |     /**
  |      * Refrence of class MPSTelnetClient
  |      */
  |     MPSTelnetClient telnet;
  |     /**
  |      * Rference of clas SendCmdToCorbaConnection
  |      */
  |     SendCmdToCorbaConnection mySendCmdToCorbaConnection;
  | 
  |     /**
  |      * Reference of class InputStream, it would get attached to input stream
  |      * of the HLR and help to get the input from the HLR command line interface.
  |      */
  |     private InputStream in;
  |     /**
  |      * Reference of class PrintStream, it would get attached to output stream
  |      * of the HLR and help to send command to the HLR command line interface.
  |      */
  |     private PrintStream out;
  |     /**
  |      * Constant value for login prompt.
  |      */
  | //    private static final String LOGIN_PROMPT = "login: ";
  |     private final String LOGIN_PROMPT = "login: "; //by annie
  |     /**
  |      * Constant for password Prompt.
  |      */
  |     private static final String PWD_PROMPT = "Password: ";
  |     /**
  |      * Constant for the $ prompt
  |      */
  |     private static final String START_PROMPT = "$";
  |     /**
  |      * Reference of MPSTelnetClient class which provide the interface for telnet
  |      * connection.
  |      */
  |     private MPSTelnetClient telnetConnection;
  |      /**
  |      * Reference fo class SendCmdToCorbaConnection.
  |      */
  |     SendCmdToCorbaConnection in_client;
  |     /**
  |      * Hash map that store NE connection object and it's corresponding
  |      * input and output stream. 
  |      */
  |     private static HashMap myConnectionMap ;
  |     /**
  |      * Reference of class CommandConvertor.
  |      */
  |     CommandConvertor myCommandConvertor ;
  |    /**
  |     * This variable contains QueueConnection object to establish connection 
  |     * with logger MDB
  |     */      
  |     private  QueueConnection logConnection = null;
  |     /**
  |     * This variable contains QueueSession object 
  |     */      
  |     private  QueueSession logSession = null;
  |     /**
  |     * This variable contains QueueSender object to send messages to logger MDB
  |     */      
  |     private  QueueSender logSender = null;
  |     /**
  |     * This variable contains Queue object to send messages to logger queue
  |     */      
  |     private  Queue logQueue = null;
  |     /**
  |     * This variable contains QueueConnectionFactory object
  |     */        
  |     private  QueueConnectionFactory logQueueFactory = null;
  |     /**
  |     * This variable contains TextMessage object which is the log message
  |     */          
  |     private TextMessage logmsg = null;    
  |      /**
  |     * This variable contains InitialContext required for jndi lookup 
  |     * 
  |     */        
  |     private  InitialContext jndiContext = null;
  |     
  |     /**
  |     * This variable indicates that the log is audit log  
  |     * 
  |     */    
  |     public static final String AUDIT_LOG = "AUDIT_LOG";
  |     /**
  |     * This variable indicates that the log is debug log  
  |     * 
  |     */    
  |     public static final String DEBUG_LOG = "DEBUG_LOG"; 
  |     /**
  |      * Reference of class myStoreTelnetData;
  |      */
  |     StoreTelnetData myStoreTelnetData ;
  |     /**
  |      * Storing the Tag possition from where output have to read.
  |      */
  |     private static final int TAG_POSITION = 1;
  |     /**
  |      * Storing the Tag value from where output have to read.
  |      */
  |     private static final int TAG_VALUE = 2;
  |     /**
  |      * Constant for the message when NE object does not exist.
  |      */
  |     private static final String NE_EXISTANCE = "NE does not exist";
  | 
  |     private static final SimpleDateFormat sdateFormat = new SimpleDateFormat("[dd MMM yyyy HH:mm:ss,SSS] ");
  |     
  |     private static final String TELNET_INTERFACE_STRING = "Telnet";
  | 
  |     private static final String LOGIN_INCORRECT_STRING = "Login incorrect";
  | 
  |     private ConnectAndSendCommandBuilder myBuilder;
  |     
  |     @PostConstruct
  |     public void construct()
  |     {
  |         myBuilder = new ConnectAndSendCommandBuilder();        
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "myBuilder created");            
  |     }   
  |     
  |     @PreDestroy
  |     public void destroy()
  |     {
  |         if(myBuilder != null)
  |         {    
  |             myBuilder = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "builder set to null");
  |             
  |         }
  |         if(logSender!=null)
  |         {    
  |             try 
  |             {
  |                 logSender.close();
  |                 logSender = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "logSender set to null");                
  |             }
  |             catch (JMSException ex)
  |             {
  |                 System.out.println(ex.toString());
  |             }
  |         }
  |         
  |         if(logSession!=null)
  |         {
  |             try 
  |             {
  |                 logSession.close();
  |                 logSession = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "logSession set to null");                         
  |             }
  |             catch (JMSException ex) 
  |             {
  |                 System.out.println(ex.toString());
  |             }
  |         }
  |         
  |         if(logConnection!=null)
  |         {
  |             try 
  |             {
  |                 logConnection.close();
  |                 logConnection = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "logConnection set to null");                    
  |             }
  |             catch (JMSException ex) 
  |             {
  |                 System.out.println(ex.toString());
  |             }
  |         }
  |         
  |         if(logQueue!=null)
  |         {
  |             logQueue = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "logQueue set to null");                    
  |         }    
  |         if(logQueueFactory!=null)
  |         {
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 + 
  |                 "logQueueFactory set to null");                  
  |             logQueueFactory = null;
  |         }            
  |         
  |     }        
  | 
  |     public ConnectAndSendCommandBean()
  |     {
  |         //myBuilder = new ConnectAndSendCommandBuilder();
  |     }
  |     
  |     public ConnectAndSendCommandBean(ConnectAndSendCommandBuilder builder)
  |     {
  |         myBuilder = builder;
  |     }
  |      /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * Call the different NE Connection methods on the basis of NE type.
  |      * @param arnemap:- Contains the NE specific data
  |      * @return NEConnection 
  |      */
  |     public NEConnection[] makeNEConnection(NEConnection[] arnemap,String logEnabler)
  |     {
  |         System.out.println("Start makeNEConnection");
  |         LoggerConfig.logEnabler = logEnabler;
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Enter in the method makeNEConnection");
  | 
  |         
  |         if(myConnectionMap == null)
  |         {
  |             myConnectionMap = new HashMap();
  |         }
  |         
  |         for(int i=0;i<arnemap.length;i++)
  |         {
  |             myStoreTelnetData = new StoreTelnetData();
  |             if(arnemap.getNEInterface().equals(TELNET_INTERFACE_STRING))
  |             {
  |                 telnet = makeTelnetConnection(arnemap);
  |                 if(telnet!=null)
  |                 {
  |                     sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arnemap.getNETag() +" ] " + ":- making Telnet connection for NE");
  |                     in = telnet.getInputStream();
  |                     out = new PrintStream(telnet.getOutputStream());
  |                     readUntil(LOGIN_PROMPT, in);
  |                     write(arnemap.getUsername(),out);
  |                     readUntil(PWD_PROMPT, in);
  |                     write(arnemap.getPassword(), out);
  |                     if(readUntil(LOGIN_INCORRECT_STRING + "", in).contains(LOGIN_INCORRECT_STRING))
  |                     {
  |                         arnemap.setNEStatus(NeConnectionConstants.
  |                                 ConnectionStatus.NOT_CONNECTED.status());
  |                         sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arnemap.getNETag() +" ] " + ":- Login ID " +
  |                             "or password is wrong.");
  |                     }
  |                     else
  |                     {
  |                         myStoreTelnetData.myMPSTelnetClient = telnet;
  |                         myStoreTelnetData.in = in;
  |                         myStoreTelnetData.out = out;
  |                         arnemap.setNEStatus(NeConnectionConstants.
  |                                 ConnectionStatus.CONNECTED.status());
  |                     }
  |                    
  |                 }
  |                 else
  |                 {
  |                     arnemap.setNEStatus(NeConnectionConstants.
  |                             ConnectionStatus.NOT_CONNECTED.status());
  |                 }
  |                 myConnectionMap.put(arnemap.getNETag(), myStoreTelnetData);
  |              }
  |              else
  |              {
  |                  sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arnemap.getNETag() +" ] " + ":- making Corba " +
  |                             "connection for NE");
  |                  mySendCmdToCorbaConnection = makeCorbaConnection(arnemap);
  |                  if(mySendCmdToCorbaConnection==null)
  |                  {
  |                     arnemap.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                             NOT_CONNECTED.status());
  |                     sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + "Corba Connection instance:- " +
  |                             mySendCmdToCorbaConnection);
  |                  }
  |                  else
  |                  {
  |                      arnemap.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                              CONNECTED.status());
  |                      sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + "Corba Connection instance:- " +
  |                             mySendCmdToCorbaConnection);
  |                  }
  |                  myStoreTelnetData.mySendCmdToCorbaConnection =
  |                          mySendCmdToCorbaConnection;
  |                  
  |                  myConnectionMap.put(arnemap.getNETag(), myStoreTelnetData);
  |                 
  |              }
  |         }
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Exit from the method " + "makeNEConnection");
  |        
  |         return arnemap;  
  |     }
  |     
  |      /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * Call the different NE Connection methods on the basis of NE type.
  |      * @param arnemap:- Contains the NE specific data
  |      * @return NEConnection 
  |      */
  |     public NEConnection makeNEConnection(NEConnection arne)
  |     {
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Enter in the method " + "makeNEConnection for 1 NE");
  |         if(myConnectionMap == null)
  |         {
  |             myConnectionMap = new HashMap();
  |         }
  |         myStoreTelnetData = new StoreTelnetData();
  |              if(arne.getNEInterface().endsWith(TELNET_INTERFACE_STRING))
  |              {
  |                 telnet = makeTelnetConnection(arne);
  |                 if(telnet!=null)
  |                 {
  |                     sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arne.getNETag() +" ] " + ":- making Telnet connection for NE");
  |                     in = telnet.getInputStream();
  |                     out = new PrintStream(telnet.getOutputStream());
  |                     readUntil(LOGIN_PROMPT, in);
  |                     write(arne.getUsername(),out);
  |                     readUntil(PWD_PROMPT, in);
  |                     write(arne.getPassword(), out);
  |                     if(readUntil(LOGIN_INCORRECT_STRING + "", in).contains(LOGIN_INCORRECT_STRING))
  |                     {
  |                         arne.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                                 NOT_CONNECTED.status());
  |                         sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arne.getNETag() +" ] " + ":- Login ID or password is wrong.");
  |                     }
  |                     else
  |                     {
  |                         myStoreTelnetData.myMPSTelnetClient = telnet;
  |                         myStoreTelnetData.in = in;
  |                         myStoreTelnetData.out = out;
  |                         arne.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                                 CONNECTED.status());
  |                     }
  |                    
  |                 }
  |                 else
  |                 {
  |                     arne.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                             NOT_CONNECTED.status());
  |                 }
  |                 myConnectionMap.put(arne.getNETag(), myStoreTelnetData);
  |              }
  |              else
  |              {
  |                  sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arne.getNETag() +" ] " + ":- making Corba " +
  |                             "connection for NE");
  |                  mySendCmdToCorbaConnection = makeCorbaConnection(arne);
  |                  if(mySendCmdToCorbaConnection==null)
  |                  {
  |                     arne.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                             NOT_CONNECTED.status());
  |                  }
  |                  else
  |                  {
  |                      arne.setNEStatus(NeConnectionConstants.ConnectionStatus.
  |                              CONNECTED.status());
  |                  }
  |                  myStoreTelnetData.mySendCmdToCorbaConnection =
  |                          mySendCmdToCorbaConnection;
  |                  
  |                  myConnectionMap.put(arne.getNETag(), myStoreTelnetData);
  |                 
  |              }
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Exit from the method makeNEConnection ");
  | 
  |         return arne;  
  |     }
  |     
  |     /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |    /**
  |     * This method helps to establish different Telnet connections and also login 
  |     * on that telnet connection.
  |     * @param arconnparam:- contain the NE related information
  |     * @return Arraylist contain the Telnet Object
  |     */
  |     private MPSTelnetClient makeTelnetConnection(NEConnection arconnparam) 
  |     {
  |        
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 +" : Enter in the method makeTelnetConnection");
  |         
  |         telnetConnection = myBuilder.getMPSTelnetClient();
  |         try 
  |         {
  |             telnetConnection.connect(arconnparam.getIpaddress(),
  |                     arconnparam.getPort());
  |             
  |             
  |            //Checks that telnet connection is established or not
  |             if(telnetConnection.isConnected())
  |             {
  |                 sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " +
  |                             " connection get established.");
  |                 
  |                 sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " + 
  |                             " connection get established.");
  |             }
  |             else
  |             {
  |                 sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " + " is not connected.");
  |                 sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " + " is not connected.");
  |                 telnetConnection = null;
  |                 
  |             }
  |         }
  |         catch (Exception ex) 
  |         {
  |             telnetConnection = null;
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " + ex.getMessage());
  |         }
  |         
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 +" : Exit from the method makeTelnetConnection");
  |         return telnetConnection;
  |     }
  |     /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * This method initialize the corba cliend object and stores the object in
  |      * arraylist.
  |      * @param arconnparam
  |      * @return Arraylist contain the Corba client Object
  |      */
  |     private SendCmdToCorbaConnection makeCorbaConnection(NEConnection arconnparam) 
  |     {
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Enter in the method makeCorbaConnection");
  | 
  |        in_client = myBuilder.getCorbaInstance();
  |        if(in_client.getConnectionStatus())
  |        {
  |            
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " +
  |                                     ":- connection established.");  
  |                 
  |             sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " +
  |                                     ":- connection established.");  
  |        }
  |        else
  |        {
  |            sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                     + " [ " 
  |                         + arconnparam.getNETag() +" ] " + 
  |                                         " is not connected.");
  |                 
  |            sendLogMessage(AUDIT_LOG,MODULE_NAME
  |                         + " [ " 
  |                             + arconnparam.getNETag() +" ] " + 
  |                                         " is not connected.");
  |            in_client = null;
  |                 
  |        }
  | 
  |        sendLogMessage(DEBUG_LOG,MODULE_NAME
  |            +" : Exit from the method makeCorbaConnection");
  |        return in_client;
  |     }
  |     
  |     
  |     
  |     /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * This method would help to search a string pattern on the HLR command 
  |      * prompt.
  |      * @param pattern:- pattern is a string value which we are searching on HLR
  |      *                  Command prompt.
  |      * @return:- Result od search.
  |      */
  |       
  |     private String readUntil(String pattern,InputStream in)
  |     {
  |         
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Enter in the method readUntil");
  |         StringBuffer result;
  | 	try 
  | 	{
  |             char lastChar = pattern.charAt(pattern.length() - 1);
  |             result = new StringBuffer();
  |             char ch ;
  | 
  |             while (true)
  |             {
  | 			int avail = in.available();
  | 			System.out.println("ThreadID-->"+Thread.currentThread().getId()+"In.read(): "+avail);
  | 			if( avail>=1){
  |                             ch = (char) in.read();
  |                             System.out.println("ThreadID-->"+Thread.currentThread().getId()+" |chRead["+ch+"]");
  |                             result.append(ch);
  |                             if (ch == lastChar || ch==(char)32)
  |                             {
  |                                 if (result.toString().endsWith(pattern) || result.toString().
  |                                         endsWith("$ ")) 
  |                                 {
  |                                     return result.toString();
  |                                 }
  |                             }
  | 			}else{
  |                             Thread.yield();
  |                         }
  |             }
  | 	}
  | 	catch (Exception e) 
  |         {
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                     + ":- " +  e);
  | 	}
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Exit from the method readUntil");
  | 	return null;
  |     }
  |     /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * Used to execute the HLR simulator script and commands.
  |      * @param value:- It would be script name or command.
  |      */
  |     private void write(String value,PrintStream out)
  |     {
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Enter in the method write");
  | 		System.out.println("ThreadID-->"+Thread.currentThread().getId()+" write ["+value+"]");		
  |         out.println(value);
  |         out.flush();
  | 
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |             +" : Exit from the method write");
  |     }
  |     /*
  |      *  
  |      * Method Revision History:
  |      * VERSION		DATE		AUTHOR/MODIFIER	      COMMENT
  |      *  ----------------------------------------------------------------------
  |      * 1.0          21-Aug, 2008        Puneet rana         Initial code
  |      * 
  |      */
  |     /**
  |      * 
  |      * @param command:- Command which would get executed on HLR
  |      * @param neConn:- NE connection object
  |      * @return
  |      */
  |     public String sendCommandToTelnet(String command, NEConnection neConn, String cmdType) 
  |     {
  | 
  | //      try{  
  | 
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                     +" : Enter in the method sendCommandToTelnet["+command
  |                     +"]NETag ["+neConn.getNETag()+"]"  );
  |             myCommandConvertor = myBuilder.getCommandConvertor();
  |             String result= "" ;
  |             String[] outputPosition = myCommandConvertor.getOutputPosition(neConn.getNETag(), 
  |                         cmdType).split(":");
  |             String[] splitOutput;
  |             String output = "";
  |             StoreTelnetData storeTelnetData ;
  |  
  |              storeTelnetData = (StoreTelnetData)
  |                 myConnectionMap.get(neConn.getNETag());
  |              synchronized(storeTelnetData)
  |              {
  |                 if(storeTelnetData.myMPSTelnetClient != null)
  |                 {
  |                    sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                              + " [ " 
  |                               + neConn.getNETag() +" ] Sending command: - "
  |                                 + command);
  |                    write(neConn.getNEScript(),(PrintStream)storeTelnetData.out);
  |                    write(command,(PrintStream)storeTelnetData.out);
  |                    output = readUntil(START_PROMPT + "",(InputStream)storeTelnetData.in);
  |                    sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                              + " [ " 
  |                               + neConn.getNETag() +" ] Output: - " + output+":"+ command);
  |                    splitOutput = output.split("\\n");
  |                    switch(new Integer(outputPosition[0]))
  |                    {
  |                        case TAG_POSITION:
  |                          result = splitOutput[(new Integer(outputPosition[1]))-1];
  |                          break;
  |                        case TAG_VALUE:
  |                          break;
  |                        default:
  |                          break;
  |                    }
  | 
  | 
  |                  }
  |                  else
  |                  {
  |                     sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                                 + " [ " 
  |                                 + neConn.getNETag() +" ] " + ":- no NE connection " +
  |                                 "object Occurs.");
  |                     result = NE_EXISTANCE;
  |                  }
  |          }
  |          sendLogMessage(DEBUG_LOG,MODULE_NAME
  |               +" : Exit from the method sendCommand["+command
  |               +"]NETag ["+neConn.getNETag()+"]  . Restsut[" + result+"]");
  |           
  |          return result;
  | //      }catch(Exception e){
  | //            System.out.println("ConnectAndSendCommandBean: sendcommandtotelnet");
  | //          
  | //          return "failure";
  | //      }
  |     } 
  |     
  |     
  |     /* 
  |     * Method Revision History:
  |     * VERSION		DATE		AUTHOR/MODIFIER		COMMENT
  |     *  ------------------------------------------------------------------
  |     *  1.0          Sep 3, 2008        Puneet Rana          Initial Code
  |     *  
  |     */
  |     public SendCmdToCorbaConnection getCorbaConnection(String neTag )
  |     {
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 +" : Enter in the method getCorbaConnection" );
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |               +" : Exit from the method getCorbaConnection");
  |         try
  |         {
  |             if(myConnectionMap == null)
  |             {
  |                 //initializeTelnetAndCorbaConnection();
  |             }
  |             return ((StoreTelnetData)myConnectionMap.get(neTag)).
  |                 mySendCmdToCorbaConnection;
  |         }
  |         catch(Exception e)
  |         {
  |             sendLogMessage(DEBUG_LOG,MODULE_NAME
  |               +e);
  |             return null;
  |         }
  | 
  |     }
  |     
  |     public String sendCommandToCorba(HashMap command, NEConnection neConn) {
  | 
  |         sendLogMessage(DEBUG_LOG,MODULE_NAME
  |                 +" : Enter in the method sendCommand ["+command+"]" 
  |                 +"NETag ["+neConn.getNETag()+"]"  );
  |         String result= "" ;
  |         try{
  | 
  |             SendCmdToCorbaConnection corbaConn ;
  | 
  |             StoreTelnetData connData = (StoreTelnetData)
  |                 myConnectionMap.get(neConn.getNETag());
  |             if(connData == null){
  |                 corbaConn = makeCorbaConnection(neConn);
  |             }else{
  |                 corbaConn = connData.mySendCmdToCorbaConnection;//SendCmdToCorbaConnection
  |             }
  |              synchronized(corbaConn)
  |              {
  |                  result = corbaConn.sendCommand(
  |                                         (HashMap) command);
  |                  return result;
  |             }
  |         }catch(Exception e){
  |             return "failure"+e.getMessage();
  |         }
  |     }    
  |     
  |    /* 
  |     * Method Revision History:
  |     * VERSION		DATE		AUTHOR/MODIFIER		COMMENT
  |     *  ------------------------------------------------------------------
  |     *  1.0          Sep 3, 2008        Puneet Rana          Initial Code
  |     *  
  |     */
  |    /**
  |     * This method is used to make connection with Logger MDB
  |     */  
  |     private void makeConnectiontoLogMDB()
  |     {
  | 
  |         try{
  |             jndiContext = myBuilder.getInitialContext();
  |             logQueueFactory = (QueueConnectionFactory) jndiContext.lookup(
  |                     JNDI_LOOKUP_NAME_LOGQUEUE_FACTORY);
  |             logQueue = (Queue) jndiContext.lookup(JNDI_LOOKUP_NAME_LOGQUEUE);
  |             if(logConnection == null){
  |             logConnection = logQueueFactory.createQueueConnection();}
  |             if(logSession== null){
  |                 logSession = logConnection.createQueueSession(false, javax.
  |                     jms.Session.AUTO_ACKNOWLEDGE);}
  |             if(logSender == null){
  |             logSender = logSession.createSender(logQueue);}
  |             
  |            
  |         }
  |         catch (NamingException ex)
  |         {
  |              System.out.println("ConnectAndSendCommandBean " +
  |                      "NamingException in makeConnectiontoLogMDB " + ex);
  |         }
  |         catch(JMSException ex){
  |              System.out.println("ConnectAndSendCommandBean " +
  |                      "JMSException in makeConnectiontoLogMDB " + ex);            
  |         }catch (Exception ex)
  |         {
  |              System.out.println("ConnectAndSendCommandBean " +
  |                      "Exception in makeConnectiontoLogMDB " + ex);
  |         }
  |         
  |     }        
  |     
  | /* 
  |  * Method Revision History:
  |  * VERSION	DATE		AUTHOR/MODIFIER		COMMENT
  |  *  ----------------------------------------------------------
  |  *  1.0      Sep 3, 2008        Puneet rana         Initial Code
  |  *
  |  */
  | /**
  |  * This method is used to send log messages to Logger MDB
  |  */  
  |     private void sendLogMessage(String armsgtype, String arlogmsg)
  |     {
  |         arlogmsg = sdateFormat.format(new Date()) +arlogmsg;
  |         try{
  |             if(LoggerConfig.logEnabler.equals(STRING_LOGGER_ON))
  |             {
  |              if(logSession==

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4205448#4205448

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4205448



More information about the jboss-user mailing list