[JBoss Messaging] - Issue (java.io.EOFException) related to clientLeasePeriod
by abhatia
abhatia [http://community.jboss.org/people/abhatia] created the discussion
"Issue (java.io.EOFException) related to clientLeasePeriod"
To view the discussion, visit: http://community.jboss.org/message/608461#608461
--------------------------------------------------------------
We have migrated our application from JBoss-4.0.3SP1 to JBoss-5.1.0.GA. We are using ejb2 & messaging. The messaging is highly available part of the application. In our application, we have not touched/modified/overridden any functionality/implementation related to jboss messaging & remoting and rely on default implemntation/functionality provided by JBoss AS. We have only created multiple topics using org.jboss.jms.server.destination.TopicService.
Following exception appears on server side:
Application error detected : WorkerThread#2[127.0.0.1:2440] exception occurred during first invocation
java.io.EOFException
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:693)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
On further analysis it has been found that
(here we are talking about <jboss_home>\server\<config>\deploy-hasingleton\+*messaging\remoting-bisocket-service.xml*+)
1) if clientLeasePeriod is set to 0 then exception disappears
2) if clientLeasePeriod is non-zero then
a) if clientLeasePeriod > validatorPingPeriod
and either clientLeasePeriod or validatorPingPeriod or both are not divisible by 10
then exception disappears
b) if clientLeasePeriod > validatorPingPeriod and divisible by 10
then exception appears
c) if clientLeasePeriod < validatorPingPeriod then exception appears (this situation is justifiable as explained above in this forum/discussion).
Please help me to understand the reason for the issue & the feasible solutions for the same. Right now we are able to temporarily fix it using scenario 2)a).
Here is our "+*messaging\remoting-bisocket-service.xml*+"
<?xml version="1.0" encoding="UTF-8"?>
<!--
Standard bisocket-based Remoting service deployment descriptor.
$Id: remoting-bisocket-service.xml,v 1.1.2.2 2011/02/23 03:16:14 abhatia Exp $
-->
<server>
<!-- Standard bisocket connector - the bisocket transport only opens connection from client->server
so can be used with firewalls where only outgoing connections are allowed.
For examples of HTTP and SSL transports see docs/examples -->
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.messaging:service=Connector,transport=bisocket"
display-name="Bisocket Transport Connector">
<attribute name="Configuration">
<config>
<invoker transport="bisocket">
<!-- There should be no reason to change these parameters - warning!
Changing them may stop JBoss Messaging working correctly -->
<attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="dataType" isParam="true">jms</attribute>
<attribute name="socket.check_connection" isParam="true">false</attribute>
<attribute name="serverBindAddress">192.168.5.206</attribute>
<attribute name="serverBindPort">${jboss.messaging.connector.bisocket.port:4457}</attribute>
<attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
<attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
<attribute name="numberOfCallRetries" isParam="true">1</attribute>
<attribute name="pingFrequency" isParam="true">214748364</attribute>
<attribute name="pingWindowFactor" isParam="true">10</attribute>
<attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
<!-- End immutable parameters -->
<attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
<!-- Periodicity of client pings. Server window by default is twice this figure -->
<attribute name="clientLeasePeriod" isParam="true">123456</attribute>
<attribute name="validatorPingPeriod" isParam="true">98765</attribute>
<attribute name="validatorPingTimeout" isParam="true">5000</attribute>
<attribute name="registerCallbackListener">false</attribute>
<attribute name="timeout" isParam="true">0</attribute>
<!-- Number of seconds to wait for a connection in the client pool to become free -->
<attribute name="connectionWait" isParam="true">10</attribute>
<!-- Max Number of connections in client pool. This should be significantly higher than
the max number of sessions/consumers you expect -->
<attribute name="JBM_clientMaxPoolSize" isParam="true">200</attribute>
<!-- The maximum time to wait before timing out on trying to write a message to socket for delivery -->
<attribute name="callbackTimeout">10000</attribute>
<!-- Use these parameters to specify values for binding and connecting control connections to
work with your firewall/NAT configuration
<attribute name="secondaryBindPort">xyz</attribute>
<attribute name="secondaryConnectPort">abc</attribute>
-->
</invoker>
<handlers>
<handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
</handlers>
</config>
</attribute>
</mbean>
</server>
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/608461#608461]
Start a new discussion in JBoss Messaging at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 4 months
[JBoss Remoting] - Issue (java.io.EOFException) related to clientLeasePeriod
by abhatia
abhatia [http://community.jboss.org/people/abhatia] created the discussion
"Issue (java.io.EOFException) related to clientLeasePeriod"
To view the discussion, visit: http://community.jboss.org/message/608460#608460
--------------------------------------------------------------
We have migrated our application from JBoss-4.0.3SP1 to JBoss-5.1.0.GA. We are using ejb2 & messaging. The messaging is highly available part of the application. In our application, we have not touched/modified/overridden any functionality/implementation related to jboss messaging & remoting and rely on default implemntation/functionality provided by JBoss AS. We have only created multiple topics using org.jboss.jms.server.destination.TopicService.
Following exception appears on server side:
Application error detected : WorkerThread#2[127.0.0.1:2440] exception occurred during first invocation
java.io.EOFException
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:693)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:524)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:232)
On further analysis it has been found that
(here we are talking about <jboss_home>\server\<config>\deploy-hasingleton\+*messaging\remoting-bisocket-service.xml*+)
1) if clientLeasePeriod is set to 0 then exception disappears
2) if clientLeasePeriod is non-zero then
a) if clientLeasePeriod > validatorPingPeriod
and either clientLeasePeriod or validatorPingPeriod or both are not divisible by 10
then exception disappears
b) if clientLeasePeriod > validatorPingPeriod and divisible by 10
then exception appears
c) if clientLeasePeriod < validatorPingPeriod then exception appears (this situation is justifiable as explained above in this forum/discussion).
Please help me to understand the reason for the issue & the feasible solutions for the same. Right now we are able to temporarily fix it using scenario 2)a).
Here is our "+*messaging\remoting-bisocket-service.xml*+"
<?xml version="1.0" encoding="UTF-8"?>
<!--
Standard bisocket-based Remoting service deployment descriptor.
$Id: remoting-bisocket-service.xml,v 1.1.2.2 2011/02/23 03:16:14 abhatia Exp $
-->
<server>
<!-- Standard bisocket connector - the bisocket transport only opens connection from client->server
so can be used with firewalls where only outgoing connections are allowed.
For examples of HTTP and SSL transports see docs/examples -->
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.messaging:service=Connector,transport=bisocket"
display-name="Bisocket Transport Connector">
<attribute name="Configuration">
<config>
<invoker transport="bisocket">
<!-- There should be no reason to change these parameters - warning!
Changing them may stop JBoss Messaging working correctly -->
<attribute name="marshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="unmarshaller" isParam="true">org.jboss.jms.wireformat.JMSWireFormat</attribute>
<attribute name="dataType" isParam="true">jms</attribute>
<attribute name="socket.check_connection" isParam="true">false</attribute>
<attribute name="serverBindAddress">192.168.5.206</attribute>
<attribute name="serverBindPort">${jboss.messaging.connector.bisocket.port:4457}</attribute>
<attribute name="clientSocketClass" isParam="true">org.jboss.jms.client.remoting.ClientSocketWrapper</attribute>
<attribute name="serverSocketClass">org.jboss.jms.server.remoting.ServerSocketWrapper</attribute>
<attribute name="numberOfCallRetries" isParam="true">1</attribute>
<attribute name="pingFrequency" isParam="true">214748364</attribute>
<attribute name="pingWindowFactor" isParam="true">10</attribute>
<attribute name="onewayThreadPool">org.jboss.jms.server.remoting.DirectThreadPool</attribute>
<!-- End immutable parameters -->
<attribute name="stopLeaseOnFailure" isParam="true">true</attribute>
<!-- Periodicity of client pings. Server window by default is twice this figure -->
<attribute name="clientLeasePeriod" isParam="true">123456</attribute>
<attribute name="validatorPingPeriod" isParam="true">98765</attribute>
<attribute name="validatorPingTimeout" isParam="true">5000</attribute>
<attribute name="registerCallbackListener">false</attribute>
<attribute name="timeout" isParam="true">0</attribute>
<!-- Number of seconds to wait for a connection in the client pool to become free -->
<attribute name="connectionWait" isParam="true">10</attribute>
<!-- Max Number of connections in client pool. This should be significantly higher than
the max number of sessions/consumers you expect -->
<attribute name="JBM_clientMaxPoolSize" isParam="true">200</attribute>
<!-- The maximum time to wait before timing out on trying to write a message to socket for delivery -->
<attribute name="callbackTimeout">10000</attribute>
<!-- Use these parameters to specify values for binding and connecting control connections to
work with your firewall/NAT configuration
<attribute name="secondaryBindPort">xyz</attribute>
<attribute name="secondaryConnectPort">abc</attribute>
-->
</invoker>
<handlers>
<handler subsystem="JMS">org.jboss.jms.server.remoting.JMSServerInvocationHandler</handler>
</handlers>
</config>
</attribute>
</mbean>
</server>
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/608460#608460]
Start a new discussion in JBoss Remoting at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 4 months
[Beginner's Corner] - ejb web service client example failed - IOEXCEPTION vfs protocal
by leon z
leon z [http://community.jboss.org/people/leonz] created the discussion
"ejb web service client example failed - IOEXCEPTION vfs protocal"
To view the discussion, visit: http://community.jboss.org/message/608423#608423
--------------------------------------------------------------
This is the web service client example on ejb 3.0 book. The web service has been installed. this is the error message
run.client:
[java] javax.naming.NamingException: Cannot unmarshall service ref meta data [Root exception is java.io.IOException: unknown protocol: vfs]
[java] at org.jboss.ws.core.jaxrpc.client.ServiceObjectFactoryJAXRPC.getObjectInstance(ServiceObjectFactoryJAXRPC.java:120)
[java] at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
[java] at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1483)
[java] at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1500)
[java] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:824)
[java] at org.jboss.naming.client.java.javaURLContextFactory$EncContextProxy.invoke(javaURLContextFactory.java:153)
[java] at $Proxy0.lookup(Unknown Source)
[java] at javax.naming.InitialContext.lookup(InitialContext.java:392)
[java] at com.titan.clients.Client.main(Client.java:14)
[java] Caused by: java.io.IOException: unknown protocol: vfs
[java] at java.net.URL.readObject(URL.java:1220)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
[java] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
[java] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
[java] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
[java] at java.io.ObjectInputStream.access$300(ObjectInputStream.java:187)
[java] at java.io.ObjectInputStream$GetFieldImpl.readFields(ObjectInputStream.java:2108)
[java] at java.io.ObjectInputStream.readFields(ObjectInputStream.java:518)
[java] at org.jboss.metadata.serviceref.VirtualFileAdaptor.readObject(VirtualFileAdaptor.java:217)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
[java] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
[java] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
[java] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
[java] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
[java] at org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData.readObject(UnifiedServiceRefMetaData.java:477)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[java] at java.lang.reflect.Method.invoke(Method.java:597)
[java] at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
[java] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1848)
[java] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
[java] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
[java] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
[java] at org.jboss.ws.core.jaxrpc.client.ServiceObjectFactoryJAXRPC.getObjectInstance(ServiceObjectFactoryJAXRPC.java:115)
[java] ... 8 more
trying to install JBOSSWS in addition to JBOSS - still cannot fix the issue.
can you please help on this.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/608423#608423]
Start a new discussion in Beginner's Corner at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
14 years, 4 months