[Design of JBoss Remoting, Unified Invokers] - Re: The mad, mad world of Remoting requirements
by trustin
anonymous wrote : Web Services (if I understand correctly) wants to be able to use Remoting like a URLConnection. In other words, open an HTTP connection or JMS session (which one depends on the URI scheme) and shove SOAP through, and (presumably) it will interoperate with whatever is on the other side without the Web Services implementation having to know what protocol is 'really' being used. And on the receiving side, it would be able to accept requests/messages from arbitrary peers (in other words, possibly not running Remoting). In addition, using HTTP should provide a level of abstraction above the HTTP client or server, such that there is no dependency on any specific implementation library.
IIRC, Web Services team is using their own marshaller and unmarshaller. If Remoting 3 is going to retain the pluggability of marshallers and unmarshallers, I think it's fully up to the WS team to provide interoperability or not using Remoting. Our primary concern is of course not to provide interoperability between various parties (that's what WS is for), but we can still provide an extension point as we did in Remoting 2. I agree with you in that it's of dubious value though. Is there any reason for WS team to use Remoting to call other Web services? There are many other WS client libraries. I am very curious.
Providing various transports and extension points might make a lot of sense only if a user wants to switch from one transport to the other (e.g. JMS -> FTP). Any advanced configuration could be specified via a configuration file or in a programmatic way via Microcontainer. However, Remoting won't exploit the full features of the underlying transport. However once again, it could be very beneficial for certain users who don't want to use advanced features of the underlying transport (e.g. transaction).
So, I generally agree with David, and also believe we can keep focusing on providing high-level API rather than on interoperability between various parties, while providing an extension point for implementing the interoperability by users themselves (not by us).
WDYT? Am I getting things correctly? :)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099812#4099812
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099812
17 years, 1 month
[Design of POJO Server] - Re: AppClientDeployer
by scott.stark@jboss.org
If you can look at it that would be great. Its reproduced by running the org.jboss.test.client.test.AppClientUnitTestCase from the ide, or command line from the testsuite directory:
| [starksm@succubus testsuite]$ ant -Dtest=org.jboss.test.client.test.AppClientUnitTestCase -Dnojars=t
|
The server console output should look something like the following:
| 08:14:23,970 INFO [MainDeployer] deploy, url=file:/home/svn/JBossHead/jboss-head/testsuite/output/resources/messaging/test-destinations-full-service.xml
| 08:14:24,022 INFO [TopicService] Topic[/topic/testTopic] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,032 INFO [TopicService] Topic[/topic/securedTopic] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,041 INFO [TopicService] Topic[/topic/testDurableTopic] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,062 INFO [QueueService] Queue[/queue/testQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,072 INFO [QueueService] Queue[/queue/testObjectMessage] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,102 INFO [QueueService] Queue[/queue/A] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,109 INFO [QueueService] Queue[/queue/B] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,115 INFO [QueueService] Queue[/queue/C] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,129 INFO [QueueService] Queue[/queue/D] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,137 INFO [QueueService] Queue[/queue/ex] started, fullSize=200000, pageSize=2000, downCacheSize=2000
| 08:14:24,149 INFO [MainDeployer] deploy, url=file:/home/svn/JBossHead/jboss-head/testsuite/output/lib/app-client.ear
| 08:14:24,626 WARN [CollectionPropertyHandler] ClassInfo.getDeclaredConstructor(null) didn't work for org.jboss.metadata.ejb.spec.InterceptorClassesMetaData, found the default ctor in ClassInfo.getDeclaredConstructors()
| 08:14:25,498 INFO [EnvironmentRefGroupConveter] Converted 2 refs: [ejb/StatelessSessionBean2, ejb/StatelessSessionBean]
| 08:14:25,548 INFO [EnvironmentRefGroupConveter] Converted 2 msgRefs: [jms/anotherQueue2, jms/anotherQueue]
| 08:14:25,553 INFO [EnvironmentRefGroupConveter] Converted 3 envRefs: [jms/anotherQueue, TheOtherQueue, jms/aQueue]
| 08:14:25,557 INFO [EnvironmentRefGroupConveter] Converted 2 resRefs: [url/JBossHome, url/IndirectURL]
| 08:14:25,562 INFO [EnvironmentRefGroupConveter] Converted 3 envs: [Long0, Float0, String0]
| 08:14:25,576 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:ear=app-client.ear,jar=app-client.jar,name=test-client,service=EJB3 with dependencies:
| 08:14:25,577 INFO [MCKernelAbstraction] EjbLinkDemandMetaData@4cd4aaf6{demand=jboss.j2ee:ear=app-client.ear,name=StatelessSessionBean,service=EJB3,* whenRequired=Described}
| 08:14:25,578 INFO [MCKernelAbstraction] JndiDemandMetaData@56afd9e3{demand=ejbcts/StatelessSessionHome whenRequired=Installed}
| 08:14:25,578 INFO [MCKernelAbstraction] and supplies:
| 08:14:25,827 INFO [EjbModule] Deploying FacadeStatefulSessionBean
| 08:14:26,129 INFO [EjbModule] Deploying BMPBean
| 08:14:26,220 INFO [EjbModule] Deploying StrictlyPooledStatelessBean
| 08:14:26,240 INFO [EjbModule] Deploying EJBTestRunnerEJB
| 08:14:26,257 INFO [EjbModule] Deploying CallerSessionBean
| 08:14:26,262 INFO [EjbModule] Deploying SubclassMDB
| 08:14:26,310 INFO [EjbModule] Deploying StrictlyPooledMDB
| 08:14:26,315 INFO [EjbModule] Deploying CalleeSessionBean
| 08:14:26,320 INFO [EjbModule] Deploying LongWaitStatefulSessionBean
| 08:14:26,325 INFO [EjbModule] Deploying StatefulSessionBean
| 08:14:26,329 INFO [EjbModule] Deploying BMPCallbackBean
| 08:14:26,334 INFO [EjbModule] Deploying StrictlyPooledStatefulBean
| 08:14:26,339 INFO [EjbModule] Deploying CMPBean2
| 08:14:26,376 INFO [EjbModule] Deploying StrictlyPooledCreateExceptionBean
| 08:14:26,381 INFO [EjbModule] Deploying CMPBean
| 08:14:26,386 INFO [EjbModule] Deploying CMPBeanOptionD
| 08:14:26,411 INFO [EjbModule] Deploying BMTStatefulSessionBean
| 08:14:26,417 INFO [EjbModule] Deploying StatelessSessionBean
| 08:14:30,138 INFO [ProxyFactory] Bound EJB Home 'FacadeStatefulSessionBean' to jndi 'ejbcts/FacadeStatefulSessionBean'
| 08:14:30,179 INFO [ProxyFactory] Bound EJB Home 'BMPBean' to jndi 'ejbcts/BMPBean'
| 08:14:30,221 INFO [ProxyFactory] Bound EJB Home 'StrictlyPooledStatelessBean' to jndi 'ejbcts/StrictlyPooledStatelessBean'
| 08:14:30,253 INFO [ProxyFactory] Bound EJB Home 'EJBTestRunnerEJB' to jndi 'ejb/EJBTestRunner'
| 08:14:30,295 INFO [ProxyFactory] Bound EJB Home 'CallerSessionBean' to jndi 'ejbcts/CallerSessionHome'
| 08:14:30,469 INFO [ProxyFactory] Bound EJB Home 'CalleeSessionBean' to jndi 'ejbcts/CalleeSessionHome'
| 08:14:30,707 INFO [ProxyFactory] Bound EJB Home 'LongWaitStatefulSessionBean' to jndi 'ejbcts/LongWaitStatefulSessionBean'
| 08:14:30,763 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'StatefulSessionBean' to jndi 'ejbcts/StatefulSessionLocalBean'
| 08:14:30,765 INFO [ProxyFactory] Bound EJB Home 'StatefulSessionBean' to jndi 'ejbcts/StatefulSessionBean'
| 08:14:30,807 INFO [ProxyFactory] Bound EJB Home 'BMPCallbackBean' to jndi 'ejbcts/BMPCallbackBean'
| 08:14:31,016 INFO [ProxyFactory] Bound EJB Home 'StrictlyPooledStatefulBean' to jndi 'ejbcts/StrictlyPooledStatefulBean'
| 08:14:31,048 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'CMPBean2' to jndi 'ejbcts/LocalCMPBean2'
| 08:14:31,054 INFO [ProxyFactory] Bound EJB Home 'CMPBean2' to jndi 'ejbcts/CMPBean2'
| 08:14:31,094 INFO [ProxyFactory] Bound EJB Home 'StrictlyPooledCreateExceptionBean' to jndi 'ejbcts/StrictlyPooledCreateExceptionBean'
| 08:14:31,122 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'CMPBean' to jndi 'ejbcts/LocalCMPBean'
| 08:14:31,125 INFO [ProxyFactory] Bound EJB Home 'CMPBean' to jndi 'ejbcts/CMPBean'
| 08:14:31,175 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'CMPBeanOptionD' to jndi 'ejbcts/LocalCMPBeanOptionD'
| 08:14:31,176 INFO [ProxyFactory] Bound EJB Home 'CMPBeanOptionD' to jndi 'ejbcts/CMPBeanOptionD'
| 08:14:31,206 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'BMTStatefulSessionBean' to jndi 'ejbcts/BMTStatefulSessionLocalBean'
| 08:14:31,208 INFO [ProxyFactory] Bound EJB Home 'BMTStatefulSessionBean' to jndi 'ejbcts/BMTStatefulSessionBean'
| 08:14:31,244 INFO [BaseLocalProxyFactory] Bound EJB LocalHome 'StatelessSessionBean' to jndi 'local/StatelessSessionBean@1333276419'
| 08:14:31,251 INFO [ProxyFactory] Bound EJB Home 'StatelessSessionBean' to jndi 'ejbcts/StatelessSessionHome'
| 08:14:31,491 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'StatelessSessionBean' from jndi 'local/StatelessSessionBean@1333276419'
| 08:14:31,493 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'BMTStatefulSessionBean' from jndi 'ejbcts/BMTStatefulSessionLocalBean'
| 08:14:31,550 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'CMPBeanOptionD' from jndi 'ejbcts/LocalCMPBeanOptionD'
| 08:14:31,552 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'CMPBean' from jndi 'ejbcts/LocalCMPBean'
| 08:14:31,554 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'CMPBean2' from jndi 'ejbcts/LocalCMPBean2'
| 08:14:31,557 INFO [BaseLocalProxyFactory] Unbind EJB LocalHome 'StatefulSessionBean' from jndi 'ejbcts/StatefulSessionLocalBean'
| 08:14:31,572 INFO [ProxyFactory] Unbind EJB Home 'StatelessSessionBean' from jndi 'ejbcts/StatelessSessionHome'
| 08:14:31,575 INFO [EjbModule] Undeployed StatelessSessionBean
| 08:14:31,575 INFO [ProxyFactory] Unbind EJB Home 'BMTStatefulSessionBean' from jndi 'ejbcts/BMTStatefulSessionBean'
| 08:14:31,577 INFO [EjbModule] Undeployed BMTStatefulSessionBean
| 08:14:31,578 INFO [ProxyFactory] Unbind EJB Home 'CMPBeanOptionD' from jndi 'ejbcts/CMPBeanOptionD'
| 08:14:31,579 INFO [EjbModule] Undeployed CMPBeanOptionD
| 08:14:31,579 INFO [ProxyFactory] Unbind EJB Home 'CMPBean' from jndi 'ejbcts/CMPBean'
| 08:14:31,581 INFO [EjbModule] Undeployed CMPBean
| 08:14:31,582 INFO [ProxyFactory] Unbind EJB Home 'StrictlyPooledCreateExceptionBean' from jndi 'ejbcts/StrictlyPooledCreateExceptionBean'
| 08:14:31,583 INFO [EjbModule] Undeployed StrictlyPooledCreateExceptionBean
| 08:14:31,583 INFO [ProxyFactory] Unbind EJB Home 'CMPBean2' from jndi 'ejbcts/CMPBean2'
| 08:14:31,584 INFO [EjbModule] Undeployed CMPBean2
| 08:14:31,584 INFO [ProxyFactory] Unbind EJB Home 'StrictlyPooledStatefulBean' from jndi 'ejbcts/StrictlyPooledStatefulBean'
| 08:14:31,586 INFO [EjbModule] Undeployed StrictlyPooledStatefulBean
| 08:14:31,586 INFO [ProxyFactory] Unbind EJB Home 'BMPCallbackBean' from jndi 'ejbcts/BMPCallbackBean'
| 08:14:31,588 INFO [EjbModule] Undeployed BMPCallbackBean
| 08:14:31,588 INFO [ProxyFactory] Unbind EJB Home 'StatefulSessionBean' from jndi 'ejbcts/StatefulSessionBean'
| 08:14:31,590 INFO [EjbModule] Undeployed StatefulSessionBean
| 08:14:31,590 INFO [ProxyFactory] Unbind EJB Home 'LongWaitStatefulSessionBean' from jndi 'ejbcts/LongWaitStatefulSessionBean'
| 08:14:31,592 INFO [EjbModule] Undeployed LongWaitStatefulSessionBean
| 08:14:31,592 INFO [ProxyFactory] Unbind EJB Home 'CalleeSessionBean' from jndi 'ejbcts/CalleeSessionHome'
| 08:14:31,593 INFO [EjbModule] Undeployed CalleeSessionBean
| 08:14:31,594 INFO [EjbModule] Undeployed StrictlyPooledMDB
| 08:14:31,596 INFO [EjbModule] Undeployed SubclassMDB
| 08:14:31,596 INFO [ProxyFactory] Unbind EJB Home 'CallerSessionBean' from jndi 'ejbcts/CallerSessionHome'
| 08:14:31,597 INFO [EjbModule] Undeployed CallerSessionBean
| 08:14:31,597 INFO [ProxyFactory] Unbind EJB Home 'EJBTestRunnerEJB' from jndi 'ejb/EJBTestRunner'
| 08:14:31,598 INFO [EjbModule] Undeployed EJBTestRunnerEJB
| 08:14:31,599 INFO [ProxyFactory] Unbind EJB Home 'StrictlyPooledStatelessBean' from jndi 'ejbcts/StrictlyPooledStatelessBean'
| 08:14:31,600 INFO [EjbModule] Undeployed StrictlyPooledStatelessBean
| 08:14:31,601 INFO [ProxyFactory] Unbind EJB Home 'BMPBean' from jndi 'ejbcts/BMPBean'
| 08:14:31,602 INFO [EjbModule] Undeployed BMPBean
| 08:14:31,603 INFO [ProxyFactory] Unbind EJB Home 'FacadeStatefulSessionBean' from jndi 'ejbcts/FacadeStatefulSessionBean'
| 08:14:31,604 INFO [EjbModule] Undeployed FacadeStatefulSessionBean
| 08:14:31,612 INFO [MCKernelAbstraction] uninstalling bean: jboss.j2ee:ear=app-client.ear,jar=app-client.jar,name=test-client,service=EJB3
| 08:14:31,628 INFO [QueueService] Queue[/queue/ex] stopped
| 08:14:31,629 INFO [QueueService] Queue[/queue/D] stopped
| 08:14:31,630 INFO [QueueService] Queue[/queue/C] stopped
| 08:14:31,631 INFO [QueueService] Queue[/queue/B] stopped
| 08:14:31,632 INFO [QueueService] Queue[/queue/A] stopped
| 08:14:31,633 INFO [QueueService] Queue[/queue/testObjectMessage] stopped
| 08:14:31,634 INFO [QueueService] Queue[/queue/testQueue] stopped
| 08:14:31,635 INFO [TopicService] Topic[/topic/testDurableTopic] stopped
| 08:14:31,636 INFO [TopicService] Topic[/topic/securedTopic] stopped
| 08:14:31,638 INFO [TopicService] Topic[/topic/testTopic] stopped
| 08:14:31,712 WARN [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@6df0a29b(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter(a)155ec9f4 destination=queue/A isTopic=false tx=true durable=false reconnect=10 provider=DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=30000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=10)
| javax.naming.NameNotFoundException: A not bound
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
| at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at org.jboss.util.naming.Util.lookup(Util.java:215)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:441)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:340)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:692)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
| 08:14:31,712 WARN [JmsActivation] Failure in jms activation org.jboss.resource.adapter.jms.inflow.JmsActivationSpec@48cdd17f(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter(a)155ec9f4 destination=queue/C isTopic=false tx=true durable=false reconnect=10 provider=DefaultJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=30000 useDLQ=true DLQHandler=org.jboss.resource.adapter.jms.inflow.dlq.GenericDLQHandler DLQJndiName=queue/DLQ DLQUser=null DLQMaxResent=10)
| javax.naming.NameNotFoundException: C not bound
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:542)
| at org.jnp.server.NamingServer.getBinding(NamingServer.java:550)
| at org.jnp.server.NamingServer.getObject(NamingServer.java:556)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
| at org.jnp.server.NamingServer.lookup(NamingServer.java:270)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669)
| at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629)
| at javax.naming.InitialContext.lookup(InitialContext.java:351)
| at org.jboss.util.naming.Util.lookup(Util.java:215)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupDestination(JmsActivation.java:441)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:340)
| at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:692)
| at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
| at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:260)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
|
The exceptions shown are not what I'm looking for, although they may be the cause of the client container dependencies not being satisfied. They are due to a lack of dependency between the message destination services and the jms invoker for the mdb container.
The question is why there is not an exception about the unsatisfied dependencies of the client container. If the container was started there should have been a "STARTED CLIENT ENC CONTAINER:" message from the org.jboss.ejb3.clientmodule.ClientENCInjectionContainer, which is the bean the Ejb3ClientDeployer registers with the kernel.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099597#4099597
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099597
17 years, 1 month