The default behavior in AS 4.0.X was to use a "legacy" remote invoker, and the
default in AS 4.2 is to use a Remoting invoker. For a Remoting invoker, the ability to
download classes over the network has to be enabled explicitly. For EJB3 the
configuration file is .../server/default/deploy/ejb3.deployer/META-INF/jboss-service.xml
(substitute your configuration for "default"), and the relevant entry is
| <mbean code="org.jboss.remoting.transport.Connector"
|
name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
| <depends>jboss.aop:service=AspectDeployer</depends>
| <attribute
name="InvokerLocator">socket://${jboss.bind.address}:3873</attribute>
| <attribute name="Configuration">
| <handlers>
| <handler
subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
| </handlers>
| </attribute>
| </mbean>
|
If you add a "loaderport" parameter to the InvokerLocator, Remoting will create
a "classloader server" which, if a class cannot be found on the client side,
will be contacted by the client side classloader. E.g.,
| <mbean code="org.jboss.remoting.transport.Connector"
|
name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
| <depends>jboss.aop:service=AspectDeployer</depends>
| <attribute
name="InvokerLocator">socket://${jboss.bind.address}:3873/?loaderport=4873</attribute>
| <attribute name="Configuration">
| <handlers>
| <handler
subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
| </handlers>
| </attribute>
| </mbean>
|
will create a classloader server that listens on port ${jboss.bind.address}:4873.
For more discussion see Section "5.5. Marshalling" of the Remoting Guide
(
http://labs.jboss.com/jbossremoting/docs/guide/index.html).
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4121471#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...