Problem calling a Class after Hot Deployment.
kblood Apr 13, 2004 10:36 AMI have a .jar file with several EJBs: 2 MDBs, 1 Stateless Session Bean, and several standard classes.
I am running JBoss 3.2.3, JDK 1.4.2, Windows 2000.
Now, I have one of my MDBs listening to a Queue. If I send a message to that queue, and the .jar was deployed with the start-up of the JBoss, in the onMessage() function, I create a couple of instances of some of the standard Java classes that I included, and everything works as expected.
Then, I make a silly change (the contents of a string, for example) in my code, in one of these standard classes. Redeploy, Hot Deployment kicks in, and the .jar file seems to be deployed fine. Then I send a message again to my queue, and the creation of these instances fails miserably...
I should point out that the creation is done with a Constructor written by me, that takes a couple of parameters, so it's not using the default constructor. Sometimes I get a stack trace, as I have told my code to print, and sometimes I don't.
Please give me some advice... Thanks in advance!!!
Here comes the Stack trace, sorry for the big chunk of text...
15:40:11,109 INFO [STDOUT] Entering InputMsgBean.onMessage() 15:40:49,859 ERROR [LogInterceptor] Unexpected Error: java.lang.NoSuchMethodError: kblood.livechatproto.control.ChatMessage.<init>(Ljim/message/sms/TextSMSMessage;)V at kblood.livechatproto.mdb.InputMsgBean.onMessage(InputMsgBean.java:75) 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:324) at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:144) at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32) at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62) at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374) at org.jboss.ejb.Container.invoke(Container.java:700) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114) at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256) at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633) at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433) at org.jboss.mq.SpySession.run(SpySession.java:298) at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727) at java.lang.Thread.run(Thread.java:534) 15:40:49,968 ERROR [JMSContainerInvoker] Exception in JMSCI message listener javax.ejb.EJBException: Unexpected Error java.lang.NoSuchMethodError: kblood.livechatproto.control.ChatMessage.<init>(Ljim/message/sms/TextSMSMessage;)V at kblood.livechatproto.mdb.InputMsgBean.onMessage(InputMsgBean.java:75) 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:324) at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:460) at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:144) at org.jboss.ejb.plugins.MessageDrivenTxInterceptorBMT.invoke(MessageDrivenTxInterceptorBMT.java:32) at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:62) at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:90) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374) at org.jboss.ejb.Container.invoke(Container.java:700) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114) at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256) at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633) at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433) at org.jboss.mq.SpySession.run(SpySession.java:298) at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727) at java.lang.Thread.run(Thread.java:534) at org.jboss.ejb.plugins.LogInterceptor.handleException(LogInterceptor.java:370) at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:374) at org.jboss.ejb.Container.invoke(Container.java:700) at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:824) at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1114) at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256) at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633) at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433) at org.jboss.mq.SpySession.run(SpySession.java:298) at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180) at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:727) at java.lang.Thread.run(Thread.java:534)