[JBoss JIRA] Created: (JBESB-1557) JBossRemotingGateway listener should support multiple listeners for the same host port combination
by Daniel Bevenius (JIRA)
JBossRemotingGateway listener should support multiple listeners for the same host port combination
--------------------------------------------------------------------------------------------------
Key: JBESB-1557
URL: http://jira.jboss.com/jira/browse/JBESB-1557
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Transports
Affects Versions: 4.3
Reporter: Daniel Bevenius
Assigned To: Daniel Bevenius
Fix For: 4.3
Add support for having multiple jbr listeners listen to the same host port combination:
<jbr-provider name="JBR-Http" protocol="http" host="localhost" path="service1">
<jbr-bus busid="Http-1" port="8765" />
</jbr-provider>
<jbr-provider name="JBR-Http2" protocol="http" host="localhost" path="service2">
<jbr-bus busid="Http-2" port="8765"/>
</jbr-provider>
Also notice the addition of the path configuration parameter. This is intended to identify the path that will be used by a ws client that calls the service. Talked to Tom and he suggested placing the path property on the jbr-bus element so I'll change that. The attached example uses this way just as a proof-of-concept (too lazy to change it right now)
The path is used by the JBossRemoteGatewayListener as the subsystem when adding InvokationHandlers to a Connector. So we are bascically keeping track of JBoss Remting Connectors that share the same host/port combination, and adding InvokationHandlers to them with the above specifed path as their subsystem.
This solution requires that the JBoss Remoting ServerInvoker be modified and adding something like this:
String subsystem = invocation.getSubsystem();
String clientId = invocation.getSessionId();
Map requestPayload = invocation.getRequestPayload();
if ( subsystem == null && requestPayload != null )
{
String path = (String) requestPayload.get( HTTPMetadataConstants.PATH );
subsystem = path.substring( path.indexOf( '/' ) + 1 );
}
log.info( "subsystem : " + subsystem );
This is needed so it can set the incoming path as the target subsystem.
I'm not sure if this is the best way to do this but I'll ask in the Remoting forum if they have a better suggestion.
Really, the gain with this is that we can have multiple webservice running in a ESB instance using the same port. This is important because we it becomes difficult opening a separate port for every web service. This is the issue we are facing at the moment.
Note that this solution does not work when running multiple ESB instances on the same machine, as this would still cause a port conflict. The solution is specific to a single JVM.
Any thought or comments on this?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 2 months
[JBoss JIRA] Closed: (JBESB-317) Converting CBR Listener
by Mark Little (JIRA)
[ https://jira.jboss.org/jira/browse/JBESB-317?page=com.atlassian.jira.plug... ]
Mark Little closed JBESB-317.
-----------------------------
> Converting CBR Listener
> -----------------------
>
> Key: JBESB-317
> URL: https://jira.jboss.org/jira/browse/JBESB-317
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0
> Environment: any
> Reporter: Kurt Stam
> Assignee: Esteban Schifman
> Priority: Blocker
> Fix For: 4.3
>
> Attachments: CbrProxyActionUnitTest.java, CbrProxyActionUnitTest.xml
>
>
> A new CbrListener was created to replace the CbrJmsQueueListener. I have tried to use this new class in the CbrJmsQueueListenerTest, by updating the config xml and way the test starts the listeners. When the test CbrProxyActionUnitTest runs it gives me:
> [junit] 12:02:37,593 DEBUG [SocketManager] Created ObjectOutputStream
> [junit] 12:02:37,593 DEBUG [CbrListener] Sending message to the Content Based Router.
> [junit] 12:02:37,593 DEBUG [SocketManager] Created ObjectInputStream
> [junit] 12:02:37,593 DEBUG [UILClientILService] Starting
> [junit] 12:02:37,593 INFO [JBossRulesRouter] Reading ruleSet from file=JBossESBRules.drl
> [junit] 12:02:37,593 INFO [JBossRulesRouter] Going to read the rule: JBossESBRules.drl
> [junit] 12:02:37,609 DEBUG [SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
> [junit] 12:02:39,500 DEBUG [JBossRulesRouter] Obtained message=org.jboss.internal.soa.esb.message.format.xml.MessageImpl@edbca8 with ruleSet=JBossESBRules.drl
> [junit] 12:02:39,500 DEBUG [JBossRulesRouter] Obtained message=org.jboss.internal.soa.esb.message.format.xml.MessageImpl@d9205 with ruleSet=JBossESBRules.drl
> [junit] 12:02:39,515 INFO [JBossRulesRouter] Fire the JBossRules Engine
> [junit] 12:02:39,515 INFO [JBossRulesRouter] Fire the JBossRules Engine
> [junit] JBoss_XML
> [junit] JBoss_XML
> [junit] 12:02:39,515 DEBUG [JBossRulesRouter] Destination Services List: [test_category:JBOSS_XMLDestination]
> [junit] 12:02:39,515 DEBUG [JBossRulesRouter] Destination Services List: [test_category:JBOSS_XMLDestination]
> [junit] 12:02:39,515 DEBUG [CbrListener] Replying to caller
> [junit] 12:02:39,515 INFO [RegistryException] Going to load org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl
> [junit] 12:02:39,515 DEBUG [Factory] Using the Context ClassLoader
> [junit] 12:02:39,515 INFO [MessageRouter] Looking for EPRs for category=test_category and serviceName=JBOSS_XMLDestination
> [junit] 12:02:39,515 ERROR [CbrListener] Unable to reply to caller. Deliver courier for EPR not supported yet
> [junit] org.jboss.soa.esb.couriers.CourierException: Deliver courier for EPR not supported yet
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.getDeliverCourier(TwoWayCourierImpl.java:90)
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.setToEpr(TwoWayCourierImpl.java:64)
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.<init>(TwoWayCourierImpl.java:55)
> [junit] at org.jboss.soa.esb.couriers.CourierFactory.getCourier(CourierFactory.java:78)
> [junit] at org.jboss.soa.esb.couriers.CourierFactory.getCourier(CourierFactory.java:52)
> [junit] at org.jboss.soa.esb.listeners.message.CbrListener.waitForEventAndProcess(CbrListener.java:120)
> [junit] at org.jboss.soa.esb.listeners.AbstractManagedListener.run(AbstractManagedListener.java:238)
> [junit] at java.lang.Thread.run(Thread.java:595)
> [junit] 12:02:39,515 DEBUG [JAXRRegistryImpl] Going to query the registry for name pattern [test_category, JBOSS_XMLDestination]
> [junit] 12:02:39,531 INFO [LocalTransport] Calling org.apache.juddi.registry.local.InquiryService#inquire locally
> [junit] 12:02:39,531 INFO [Registry] Loading jUDDI configuration.
> [junit] 12:02:39,531 INFO [Registry] Resources loaded from: /org/jboss/soa/esb/services/registry/juddi-qatest.properties
> [junit] 12:02:39,531 INFO [Registry] Initializing jUDDI components.
> [junit] 12:02:39,531 INFO [ConnectionManager] Not using Datasource as juddi.isUseDataSource=false
> [junit] 12:02:39,531 ERROR [MessageRouter] Could not obtain an EPR from the Registry. Message is not routed. Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] org.jboss.soa.esb.services.registry.RegistryException: Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:333)
> [junit] at org.jboss.soa.esb.services.routing.MessageRouter.deliverMessages(MessageRouter.java:74)
> [junit] at org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter.route(JBossRulesRouter.java:107)
> [junit] at org.jboss.soa.esb.listeners.message.CbrListener.waitForEventAndProcess(CbrListener.java:113)
> [junit] at org.jboss.soa.esb.listeners.AbstractManagedListener.run(AbstractManagedListener.java:238)
> [junit] at java.lang.Thread.run(Thread.java:595)
> [junit] Caused by: org.jboss.soa.esb.services.registry.RegistryException: Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:319)
> [junit] ... 5 more
> This should work for 4.0.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 2 months
[JBoss JIRA] Created: (JBESB-652) Refactory JMSRouter to simplfy setting properties on JMSMessage from ESB Message object
by Daniel Bevenius (JIRA)
Refactory JMSRouter to simplfy setting properties on JMSMessage from ESB Message object
---------------------------------------------------------------------------------------
Key: JBESB-652
URL: http://jira.jboss.com/jira/browse/JBESB-652
Project: JBoss ESB
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Daniel Bevenius
Assigned To: Mark Little
Priority: Minor
The use case for this is that we need to set the correlation id of the JMSMessage before it is sent by the JMSRouter.
We have previously subclassed JMSRouter but this was not the best solution as we needed to override the route method and duplicate most of the code.
I would be nice to have a method that would be called from the route method that looked something like this:
setJMSProperties ( jmsMessage, esbMsg );
The default implementation could do nothing but would let subclasses only override this method.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 2 months
[JBoss JIRA] Updated: (JBESB-317) Converting CBR Listener
by Mark Little (JIRA)
[ https://jira.jboss.org/jira/browse/JBESB-317?page=com.atlassian.jira.plug... ]
Mark Little updated JBESB-317:
------------------------------
Fix Version/s: 4.3
> Converting CBR Listener
> -----------------------
>
> Key: JBESB-317
> URL: https://jira.jboss.org/jira/browse/JBESB-317
> Project: JBoss ESB
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 4.0
> Environment: any
> Reporter: Kurt Stam
> Assignee: Esteban Schifman
> Priority: Blocker
> Fix For: 4.3
>
> Attachments: CbrProxyActionUnitTest.java, CbrProxyActionUnitTest.xml
>
>
> A new CbrListener was created to replace the CbrJmsQueueListener. I have tried to use this new class in the CbrJmsQueueListenerTest, by updating the config xml and way the test starts the listeners. When the test CbrProxyActionUnitTest runs it gives me:
> [junit] 12:02:37,593 DEBUG [SocketManager] Created ObjectOutputStream
> [junit] 12:02:37,593 DEBUG [CbrListener] Sending message to the Content Based Router.
> [junit] 12:02:37,593 DEBUG [SocketManager] Created ObjectInputStream
> [junit] 12:02:37,593 DEBUG [UILClientILService] Starting
> [junit] 12:02:37,593 INFO [JBossRulesRouter] Reading ruleSet from file=JBossESBRules.drl
> [junit] 12:02:37,593 INFO [JBossRulesRouter] Going to read the rule: JBossESBRules.drl
> [junit] 12:02:37,609 DEBUG [SpyDestinationObjectFactory] SpyDestinationObjectFactory->getObjectInstance()
> [junit] 12:02:39,500 DEBUG [JBossRulesRouter] Obtained message=org.jboss.internal.soa.esb.message.format.xml.MessageImpl@edbca8 with ruleSet=JBossESBRules.drl
> [junit] 12:02:39,500 DEBUG [JBossRulesRouter] Obtained message=org.jboss.internal.soa.esb.message.format.xml.MessageImpl@d9205 with ruleSet=JBossESBRules.drl
> [junit] 12:02:39,515 INFO [JBossRulesRouter] Fire the JBossRules Engine
> [junit] 12:02:39,515 INFO [JBossRulesRouter] Fire the JBossRules Engine
> [junit] JBoss_XML
> [junit] JBoss_XML
> [junit] 12:02:39,515 DEBUG [JBossRulesRouter] Destination Services List: [test_category:JBOSS_XMLDestination]
> [junit] 12:02:39,515 DEBUG [JBossRulesRouter] Destination Services List: [test_category:JBOSS_XMLDestination]
> [junit] 12:02:39,515 DEBUG [CbrListener] Replying to caller
> [junit] 12:02:39,515 INFO [RegistryException] Going to load org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl
> [junit] 12:02:39,515 DEBUG [Factory] Using the Context ClassLoader
> [junit] 12:02:39,515 INFO [MessageRouter] Looking for EPRs for category=test_category and serviceName=JBOSS_XMLDestination
> [junit] 12:02:39,515 ERROR [CbrListener] Unable to reply to caller. Deliver courier for EPR not supported yet
> [junit] org.jboss.soa.esb.couriers.CourierException: Deliver courier for EPR not supported yet
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.getDeliverCourier(TwoWayCourierImpl.java:90)
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.setToEpr(TwoWayCourierImpl.java:64)
> [junit] at org.jboss.internal.soa.esb.couriers.TwoWayCourierImpl.<init>(TwoWayCourierImpl.java:55)
> [junit] at org.jboss.soa.esb.couriers.CourierFactory.getCourier(CourierFactory.java:78)
> [junit] at org.jboss.soa.esb.couriers.CourierFactory.getCourier(CourierFactory.java:52)
> [junit] at org.jboss.soa.esb.listeners.message.CbrListener.waitForEventAndProcess(CbrListener.java:120)
> [junit] at org.jboss.soa.esb.listeners.AbstractManagedListener.run(AbstractManagedListener.java:238)
> [junit] at java.lang.Thread.run(Thread.java:595)
> [junit] 12:02:39,515 DEBUG [JAXRRegistryImpl] Going to query the registry for name pattern [test_category, JBOSS_XMLDestination]
> [junit] 12:02:39,531 INFO [LocalTransport] Calling org.apache.juddi.registry.local.InquiryService#inquire locally
> [junit] 12:02:39,531 INFO [Registry] Loading jUDDI configuration.
> [junit] 12:02:39,531 INFO [Registry] Resources loaded from: /org/jboss/soa/esb/services/registry/juddi-qatest.properties
> [junit] 12:02:39,531 INFO [Registry] Initializing jUDDI components.
> [junit] 12:02:39,531 INFO [ConnectionManager] Not using Datasource as juddi.isUseDataSource=false
> [junit] 12:02:39,531 ERROR [MessageRouter] Could not obtain an EPR from the Registry. Message is not routed. Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] org.jboss.soa.esb.services.registry.RegistryException: Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:333)
> [junit] at org.jboss.soa.esb.services.routing.MessageRouter.deliverMessages(MessageRouter.java:74)
> [junit] at org.jboss.internal.soa.esb.services.routing.cbr.JBossRulesRouter.route(JBossRulesRouter.java:107)
> [junit] at org.jboss.soa.esb.listeners.message.CbrListener.waitForEventAndProcess(CbrListener.java:113)
> [junit] at org.jboss.soa.esb.listeners.AbstractManagedListener.run(AbstractManagedListener.java:238)
> [junit] at java.lang.Thread.run(Thread.java:595)
> [junit] Caused by: org.jboss.soa.esb.services.registry.RegistryException: Could not find service with category=test_category and serviceName=JBOSS_XMLDestination
> [junit] at org.jboss.internal.soa.esb.services.registry.JAXRRegistryImpl.findEPRs(JAXRRegistryImpl.java:319)
> [junit] ... 5 more
> This should work for 4.0.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 2 months