"bela" wrote : Can you turn this into a unit test (or just some *simple* sample
code) that reproduces the problem ? I looked at the code, and it looked fine:
simple serialization/deserialization of a hashmap.
| Bela
Hi Bela i add the full error and code :
anonymous wrote : FULL ERROR
18:15:54,081 ERROR [LogInterceptor] TransactionRolledbackLocalException in
method: public abstract void
javax.jms.MessageListener.onMessage(javax.jms.Message), causedBy:
org.jboss.util.NestedRuntimeException: - nested throwable:
(java.io.EOFException)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3184)
at org.jboss.cache.TreeCache.put(TreeCache.java:1741)
at org.jboss.cache.TreeCache.put(TreeCache.java:1724)
at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:230)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy80.put(Unknown Source)
at
com.qnecta.tdi.server.servicio.treecache.impl.mbean.TreeCacheMBeanJBoss.incrementaContador(TreeCacheMBeanJBoss.java:85)
at
com.qnecta.tdi.server.servicio.analisiscalidad.impl.mdb.AnalisisCalidadMDB.onMessage(AnalisisCalidadMDB.java:145)
at sun.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:87)
at
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:316)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:149)
at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:93)
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:389)
at org.jboss.ejb.Container.invoke(Container.java:871)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:920)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1213)
at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
at org.jboss.mq.SpySession.run(SpySession.java:347)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.io.EOFException
at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165)
at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)
at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
at java.io.ObjectInputStream.(ObjectInputStream.java:253)
at
org.jboss.cache.loader.FileCacheLoader.loadAttributes(FileCacheLoader.java:340)
at org.jboss.cache.loader.FileCacheLoader.put(FileCacheLoader.java:94)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.invoke(CacheLoaderInterceptor.java:72)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3181)
... 39 more
18:15:54,091 ERROR [JMSContainerInvoker] Exception in JMSCI message listener
javax.ejb.TransactionRolledbackLocalException: - nested throwable:
(java.io.EOFException); CausedByException is:
- nested throwable: (java.io.EOFException)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:232)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:316)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:149)
at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:93)
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:389)
at org.jboss.ejb.Container.invoke(Container.java:871)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:920)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1213)
at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
at org.jboss.mq.SpySession.run(SpySession.java:347)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:534)
org.jboss.util.NestedRuntimeException: - nested throwable:
(java.io.EOFException)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3184)
at org.jboss.cache.TreeCache.put(TreeCache.java:1741)
at org.jboss.cache.TreeCache.put(TreeCache.java:1724)
at sun.reflect.GeneratedMethodAccessor75.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:141)
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:80)
at org.jboss.mx.server.Invocation.invoke(Invocation.java:72)
at
org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:230)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:642)
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176)
at $Proxy80.put(Unknown Source)
at
com.qnecta.tdi.server.servicio.treecache.impl.mbean.TreeCacheMBeanJBoss.incrementaContador(TreeCacheMBeanJBoss.java:85)
at
com.qnecta.tdi.server.servicio.analisiscalidad.impl.mdb.AnalisisCalidadMDB.onMessage(AnalisisCalidadMDB.java:145)
at sun.reflect.GeneratedMethodAccessor83.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
at
org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:475)
at
org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:185)
at
org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:87)
at
org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
at
org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:105)
at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:316)
at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:149)
at
org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:93)
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:389)
at org.jboss.ejb.Container.invoke(Container.java:871)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:920)
at
org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1213)
at
org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)
at
org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:871)
at
org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:159)
at org.jboss.mq.SpySession.run(SpySession.java:347)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:748)
at java.lang.Thread.run(Thread.java:534)
Caused by: java.io.EOFException
at
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2165)
at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)
at
java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:734)
at java.io.ObjectInputStream.(ObjectInputStream.java:253)
at
org.jboss.cache.loader.FileCacheLoader.loadAttributes(FileCacheLoader.java:340)
at org.jboss.cache.loader.FileCacheLoader.put(FileCacheLoader.java:94)
at
org.jboss.cache.interceptors.CacheLoaderInterceptor.invoke(CacheLoaderInterceptor.java:72)
at org.jboss.cache.TreeCache.invokeMethod(TreeCache.java:3181)
... 39 more
anonymous wrote : BASIC CODE
anonymous wrote : MDB
| /*
| * Created on 06-nov-2004
| *
| * TODO To change the template for this generated file go to
| * Window - Preferences - Java - Code Style - Code Templates
| */
| package com.qnecta.tdi.server.servicio.analisiscalidad.impl.mdb;
|
| import javax.ejb.EJBException;
| import javax.ejb.MessageDrivenBean;
| import javax.ejb.MessageDrivenContext;
| import javax.jms.JMSException;
| import javax.jms.Message;
| import javax.jms.MessageListener;
| import javax.jms.ObjectMessage;
|
| import com.qnecta.tdi.base.modelo.beans.llamada.CLlamada;
| import com.qnecta.tdi.base.servicio.treecache.IServicioTreeCache;
| import com.qnecta.tdi.base.servicio.treecache.LSCacheAtributos;
| import com.qnecta.tdi.base.servicio.treecache.LSCacheFQN;
| import
com.qnecta.tdi.server.servicio.treecache.impl.mbean.TreeCacheMBeanJBoss;
|
| /**
| * @author Jose Manuel
| *
| * TODO To change the template for this generated type comment go to
| * Window - Preferences - Java - Code Style - Code Templates
| */
|
| /**
| * XDoclet-based message driven bean. The class must be declared
| * <code>public</code>, according to the EJB specification.<br>
| *
| * To generate code:
| * <br>
| * <ul>
| * <li> Add Standard EJB module to XDoclet project properties
| * <li> Customize XDoclet configuration
| * <li> Run XDoclet
| * </ul>
| * <br>
| * Please see the included XDoclet Overview
| * and the XDoclet Reference in the help system for details
| *
| * @ejb.bean name = "HolaMundoMDB"
| * display-name = "HolaMundoMDB"
| * description = "HolaMundoMDB EJB"
| * jndi-name = "jms/HolaMundoMDB"
| */
| public class AnalisisCalidadMDB implements MessageDrivenBean,
MessageListener {
|
| private IServicioTreeCache treeCache = null;
| /** The MessageDrivenContext */
| private MessageDrivenContext context;
|
| /**
| * An <code>ejbCreate</code> method as required by the EJB
specification. <br>
| *
| * The container calls the instanceÂs <code>ejbCreate</code> method
| * immediately after instantiation.
| *
| * @ejb.create-method
| */
| public void ejbCreate() {
| //Creamos una referencia a la cache
| treeCache = new
TreeCacheMBeanJBoss("jboss.cache:service=TreeCache");
| }
|
| /**
| * The <code>ejbRemove()</code> method as required by the EJB
specification.<br>
| *
| * A container invokes this method before it ends the life of the
| * object. This happens as a result of a client's invoking
| * a remove operation, or when a container decides to terminate the
| * object after a timeout. <br>
| *
| * This method is called with no transaction context.
| *
| * @throws EJBException Thrown if the instance could not perform
| * the function requested by the container because of an system-level
error.
| */
| public void ejbRemove() throws EJBException {
| }
|
| /**
| * Set the associated context. The container calls this method
| * after the instance creation. <br>
| *
| * The enterprise bean instance should store the reference to the
context
| * object in an instance variable. <br>
| *
| * This method is called with no transaction context.
| *
| * @param newContext A MessageDrivenContext interface for the instance.
| *
| * @throws EJBException Thrown by the method to indicate a failure
caused by a system-level error.
| */
| public void setMessageDrivenContext(MessageDrivenContext newContext)
| throws EJBException {
| context = newContext;
| }
|
| /**
| * Process a message. <br>
| *
| * @param message The message to process.
| */
| public void onMessage(Message message) {
|
| CLlamada llamada = null;
| if (message instanceof ObjectMessage) {
| ObjectMessage objectMessage = (ObjectMessage)message;
| try {
| llamada = (CLlamada) objectMessage.getObject();
| } catch (JMSException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
| System.out.println("MESSAGE BEAN: Message received: "
| + llamada);
|
| //Vemos si el numeroB de la llamada aparece aparece en el
control de calidad
| StringBuffer fqnNum = new StringBuffer();
| fqnNum.append("/");
| fqnNum.append(LSCacheFQN.NUMERACIONES);
| fqnNum.append("/");
| fqnNum.append(llamada.getNumeroB());
|
| String idGrupo =
(String)treeCache.get(fqnNum.toString(),LSCacheAtributos.ID_GRUPO);
|
| if(idGrupo!=null){
|
| System.out.println("Control de Calidad:::INCLUIDA");
| //Si es asi obtenemos el idGrupo y actualizamos los
contadores
| StringBuffer fqnGrp = new StringBuffer();
| fqnGrp.append("/");
| fqnGrp.append(LSCacheFQN.GRUPOS_NUMERACIONES);
| fqnGrp.append("/");
| fqnGrp.append(idGrupo);
|
| //Actualizamos los contadores
| Integer numeroLLamadas =
(Integer)treeCache.get(fqnGrp.toString(),LSCacheAtributos.NUM_LLAMADAS);
| numeroLLamadas = new
Integer(numeroLLamadas.intValue()+1);
|
|
treeCache.incrementaContador(fqnGrp.toString(),LSCacheAtributos.NUM_LLAMADAS);
|
| if(llamada.isCompletada()){
|
treeCache.incrementaContador(fqnGrp.toString(),LSCacheAtributos.NUM_LLAMADAS_COMPLETADAS);
| }
| if(llamada.getDuracion()/1000 > 10){
|
treeCache.incrementaContador(fqnGrp.toString(),LSCacheAtributos.NUM_LLAMADAS_COMPLETADAS10);
| }
|
| }else{
| System.out.println("Control de Calidad:::EXCLUIDA");
| }
|
|
|
| } else {
| System.out.println("Message of wrong type: "
| + message.getClass().getName());
| }
| }
| }
|
anonymous wrote : HELPER CLASSES
| /*
| * Created on 08-nov-2004
| *
| * TODO To change the template for this generated file go to
| * Window - Preferences - Java - Code Style - Code Templates
| */
| package com.qnecta.tdi.server.servicio.treecache.impl.mbean;
|
| import javax.management.MBeanServer;
| import javax.management.MalformedObjectNameException;
|
| import org.jboss.cache.TreeCacheMBean;
| import org.jboss.cache.lock.LockingException;
| import org.jboss.cache.lock.TimeoutException;
| import org.jboss.mx.util.MBeanProxyExt;
| import org.jboss.mx.util.MBeanServerLocator;
|
| import com.qnecta.tdi.base.servicio.treecache.IServicioTreeCache;
|
| /**
| * @author Jose Manuel
| *
| * TODO To change the template for this generated type comment go to
| * Window - Preferences - Java - Code Style - Code Templates
| */
| public class TreeCacheMBeanJBoss implements IServicioTreeCache{
|
|
| TreeCacheMBean treeCache;
|
| public TreeCacheMBeanJBoss(String nombreServicio){
| //jboss.cache:service=TreeCache
| MBeanServer serverMBean = MBeanServerLocator.locate();
| try {
| treeCache
=(TreeCacheMBean)MBeanProxyExt.create(TreeCacheMBean.class, nombreServicio,
serverMBean);
| } catch (MalformedObjectNameException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
|
|
| }
| /* (non-Javadoc)
| * @see
com.qnecta.tdi.base.interfaces.cache.ITreeCache#put(java.lang.String,
java.lang.Object)
| */
| public void put(String fqn, Object atributo,Object valor) {
|
| try {
| treeCache.put(fqn,atributo,valor);
| } catch (LockingException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| } catch (TimeoutException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
|
| }
|
| /* (non-Javadoc)
| * @see
com.qnecta.tdi.base.interfaces.cache.ITreeCache#get(java.lang.String)
| */
| public Object get(String fqn,Object atributo) {
|
| Object valor = null;
|
| try {
| valor = treeCache.get(fqn,atributo);
| } catch (LockingException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| } catch (TimeoutException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
|
| return valor;
|
| }
|
| public void incrementaContador(String fqn, Object atributo) {
| try {
| Integer valorContador =
(Integer)treeCache.get(fqn,atributo);
| valorContador = new Integer(valorContador.intValue()+1);
| treeCache.put(fqn,atributo,valorContador);
|
System.out.println("*****__"+fqn+"/@"+atributo+"="+valorContador);
|
| } catch (LockingException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| } catch (TimeoutException e) {
| // TODO Auto-generated catch block
| e.printStackTrace();
| }
|
| }
|
| }
|
thanks a lot
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3854847#3854847
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3854847
-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_idU88&alloc_id065&op=click
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development