[jboss-user] [Remoting] - Remoting via mbean issue
ucfjeff
do-not-reply at jboss.com
Wed Feb 14 14:26:54 EST 2007
We are attempting to deploy a Jboss Remoting Server as an mbean using JBossRemoting-2_0_0_GA on Jboss-4.0.4 jdk1.5.
We have used the following classes provided in the tests package as is:
org.jboss.test.remoting.handler.mbean.service.ClientTest:
| public class ClientTest {
| private static String transport = "socket";
| private static String host = "localhost";
| private static int port = 5400;
| public void makeInvocation(String locatorURI) throws Throwable {
| InvokerLocator locator = new InvokerLocator(locatorURI);
| System.out.println("Calling remoting server with locator uri of: " + locatorURI);
| Client remotingClient = new Client(locator);
| remotingClient.connect();
| Object response = remotingClient.invoke("Do something");
| System.out.println("Invocation response: " + response);
| }
| public static void main(String[] args) {
| if(args != null && args.length == 2) {
| transport = args[0];
| port = Integer.parseInt(args[1]);
| }
| String locatorURI = transport + "://" + host + ":" + port;
| ClientTest clientTest = new ClientTest();
| try {
| clientTest.makeInvocation(locatorURI);
| }
| catch(Throwable e) {
| e.printStackTrace();
| }
| }
| }
|
org.jboss.test.remoting.handler.mbean.MBeanHandler:
| public class MBeanHandler implements MBeanHandlerMBean {
| private MBeanServer server = null;
| private ServerInvoker invoker = null;
| public void setMBeanServer(MBeanServer server) {
| this.server = server;
| }
| public void setInvoker(ServerInvoker invoker) {
| this.invoker = invoker;
| }
| public Object invoke(InvocationRequest invocation) throws Throwable {
| System.out.println(invocation.getParameter());
| return ServerTest.RESPONSE_VALUE;
| }
| public void addListener(InvokerCallbackHandler callbackHandler) { }
| public void removeListener(InvokerCallbackHandler callbackHandler) { }
| void create() throws Exception { }
| void start() throws Exception { }
| void stop() { }
| void destroy() { }
| }
|
mbeanhandler-service.xml:
| <server>
| <classpath codebase="lib" archives="*"/>
| <mbean code="org.jboss.remoting.network.NetworkRegistry"
| name="jboss.remoting:service=NetworkRegistry"/>
| <mbean code="org.jboss.remoting.samples.simple.MBeanHandler"
| name="test:type=handler"/>
| <mbean code="org.jboss.remoting.transport.Connector"
| xmbean-dd="org/jboss/remoting/transport/Connector.xml"
| name="jboss.remoting:service=Connector,transport=Socket"
| display-name="Socket transport Connector">
| <attribute name="Configuration">
| <config>
| <invoker transport="socket">
| <attribute name="numAcceptThreads">1</attribute>
| <attribute name="maxPoolSize">303</attribute>
| <attribute name="clientMaxPoolSize" isParam="true">304</attribute>
| <attribute name="socketTimeout">60000</attribute>
| <attribute name="serverBindAddress">${jboss.bind.address}</attribute>
| <attribute name="serverBindPort">5400</attribute>
| <attribute name="enableTcpNoDelay" isParam="true">false</attribute>
| <attribute name="backlog">200</attribute>
| </invoker>
| <handlers>
| <handler subsystem="test">test:type=handler</handler>
| </handlers>
| </config>
| </attribute>
| </mbean>
| </server>
|
The mbean deploys as expected, however when we run the client we receive the following:
Client Side:
| [java] Calling remoting server with locator uri of: socket://localhost:5400
| [java] Invoking server with request of 'Do something'
| [java] 10:53:50,634 [ERROR] org.jboss.remoting.transport.socket.SocketClientInvoker: Got marshalling exception, exiting
| [java] java.net.SocketException
| [java] at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:348)
| [java] at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:116)
| [java] at org.jboss.remoting.Client.invoke(Client.java:612)
| [java] at org.jboss.remoting.Client.invoke(Client.java:604)
| [java] at org.jboss.remoting.Client.invoke(Client.java:589)
| [java] at org.jboss.remoting.samples.simple.SimpleClient.makeInvocation(Unknown Source)
| [java] at org.jboss.remoting.samples.simple.SimpleClient.main(Unknown Source)
| [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:585)
| [java] at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:202)
| [java] at org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:134)
| [java] at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
| [java] at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
| [java] at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
| [java] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
| [java] at org.apache.tools.ant.Task.perform(Task.java:364)
| [java] at org.apache.tools.ant.Target.execute(Target.java:341)
| [java] at org.apache.tools.ant.Target.performTasks(Target.java:369)
| [java] at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
| [java] at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
| [java] at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
| [java] at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
| [java] at org.apache.tools.ant.Main.runBuild(Main.java:668)
| [java] at org.apache.tools.ant.Main.startAnt(Main.java:187)
| [java] at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
| [java] at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
| [java] java.rmi.MarshalException: Failed to communicate. Problem during marshalling/unmarshalling; nested exception is:
| [java] java.net.SocketException
| [java] at org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:118)
| [java] at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:400)
| [java] at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:116)
| [java] at org.jboss.remoting.Client.invoke(Client.java:612)
| [java] at org.jboss.remoting.Client.invoke(Client.java:604)
| [java] at org.jboss.remoting.Client.invoke(Client.java:589)
| [java] at org.jboss.remoting.samples.simple.SimpleClient.makeInvocation(Unknown Source)
| [java] at org.jboss.remoting.samples.simple.SimpleClient.main(Unknown Source)
|
Server Side:
| 10:53:50,618 DEBUG [ServerThread] beginning dorun
| 10:53:50,618 ERROR [ServerThread] failed to process invocation.
| java.io.OptionalDataException
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1310)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:339)
| at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
| at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:350)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:398)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
| 10:53:50,618 DEBUG [ServerThread] begin thread wait
| 10:53:50,618 DEBUG [ServerThread] WAKEUP in SERVER THREAD
|
Is there anything we are overlooking? Any assistance is greatly appreciated.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4016550#4016550
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4016550
More information about the jboss-user
mailing list