Hello I get a
| 2006-07-10 16:34:24,140 DEBUG [org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOE | java.net.SocketException: socket closed | at java.net.SocketInputStream.socketRead0(Native Method) | at java.net.SocketInputStream.read(SocketInputStream.java:129) | at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) | at java.io.BufferedInputStream.read(BufferedInputStream.java:235) | [...] | 2006-07-10 16:34:24,140 DEBUG [org.jboss.mq.il.uil2.SocketManager] End ReadTask.run | 2006-07-10 16:34:24,140 DEBUG [org.jboss.mq.il.uil2.SocketManager] Failed to handle: org.jboss.mq.il.uil2.msgs.CloseMsg19351667[msgType: m_connectionClosing, msgID: 7, error: null] | java.io.IOException: Client is not connected | at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:265) | at org.jboss.mq.il.uil2.SocketManager.sendReply(SocketManager.java:239) | [...] | 2006-07-10 16:34:24,140 DEBUG [org.jboss.mq.il.uil2.SocketManager] Failed to send error reply | java.io.IOException: Client is not connected | at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:265) | This happens with this code | package de.s2i.service.tools; | | import org.jboss.annotation.ejb.DeliveryMode; | import org.jboss.annotation.ejb.MessageProperties; | import org.jboss.annotation.ejb.Producer; | | @Producer | public interface Echo { | | public void doEcho(String payload); | | } | and | package de.s2i.service.tools; | | import javax.annotation.Resource; | import javax.ejb.ActivationConfigProperty; | import javax.ejb.EJB; | import javax.ejb.MessageDriven; | import javax.ejb.MessageDrivenBean; | import javax.ejb.MessageDrivenContext; | import javax.jms.Message; | import javax.jms.MessageListener; | | import org.jboss.annotation.ejb.Consumer; | import org.jboss.annotation.ejb.CurrentMessage; | | @Consumer(activationConfig= { | @ActivationConfigProperty(propertyName="destinationType", | propertyValue="javax.jms.Queue"), | @ActivationConfigProperty(propertyName="destination", | propertyValue="queue/echo"), | @ActivationConfigProperty(propertyName="acknowledgeMode", propertyValue="AUTO_ACKNOWLEDGE") | }) | public class EchoBean implements Echo { | | @CurrentMessage | private javax.jms.Message currentMessage; | | public void doEcho(String payload) { | System.out.println("EchoBean: "+payload); | if (currentMessage != null) { | try { | if (currentMessage.getJMSReplyTo() != null) { | System.out.println("CurMsg: "+currentMessage.getJMSReplyTo().toString()); | } else { | System.out.println("CurMsg: no ReplyTo"); | } | }catch (Exception e) { | System.out.println("doEcho::Exception: "+e.toString()); | } | } | } | } | and | package de.s2i.service.tools; | | import java.util.Properties; | | import javax.naming.InitialContext; | | import org.jboss.ejb3.mdb.ProducerManager; | import org.jboss.ejb3.mdb.ProducerObject; | import javax.jms.JMSException; | | public class EchoClient { | | public static void main(String[] args) { | try { | String urlName = "jnp://localhost:1099"; | Properties p = new Properties(); | p.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory"); | p.put("java.naming.provider.url", urlName); | p.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); | InitialContext ctx=new InitialContext(p); | Echo echoClient=(Echo)ctx.lookup(Echo.class.getName()); | | ProducerObject po = (ProducerObject)echoClient; | ProducerManager pm=po.getProducerManager(); | | System.out.println("Going to connect ..."); | pm.setUsername("guest"); | pm.setPassword("guest"); | | pm.connect(); | | System.out.println("Connected - calling echo"); | try { | echoClient.doEcho("stuff"); | } finally { | System.out.println("sleep for 10 sec ..."); | Thread.sleep(10000); | pm.close(); | } | } catch (Exception e) { | System.out.println("Exception "+e.toString()); | } | System.out.println("Leaving ..."); | } | | } | in the logfile i see | 2006-07-10 16:34:14,218 INFO [STDOUT] EchoBean: stuff | 2006-07-10 16:34:14,218 INFO [STDOUT] CurMsg: no ReplyTo | So one way seems to work ... (is it ok, that the JMSReplyTo is empty? Is this already the problem?) As you can see I put a Thread.sleep(10000) in the client before actually closing the ProducerManager, this is when the Server throws the Exception (not before). It looks a bit like the server wants to send the client some data, but the client is not paying attention to it's socket ... What do I make wrong? greetings Malte PS: jboss 4.0.4GA, EJB 3.0 RC8 FD View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3956611#3956611 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3956611 ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user