[JBoss JIRA] Created: (JBESB-467) Reducing registry lookup overhead
by Mark Little (JIRA)
Reducing registry lookup overhead
---------------------------------
Key: JBESB-467
URL: http://jira.jboss.com/jira/browse/JBESB-467
Project: JBoss ESB
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Registry and Repository, Rosetta
Affects Versions: 4.0
Reporter: Mark Little
Assigned To: Kurt Stam
Priority: Critical
Fix For: 4.2, 5.0
>From our previous discussion on reducing registry lookup overhead (currently lookup per message send):
There are a number of solutions to this and we should try to support them all eventually:
(i) EPR lifetime: service deployers can register a lifetime associated with the EPR in the registry and when something reads the EPR it also receives information on how long the EPR will remain valid for. After that time elapses, clients must go back to the registry to get a new copy.
(ii) building on (i), EPRs can be marked as persistent - they never change so one lookup will always be enough.
(iii) interactions with services are scoped by sessions and the EPR is assumed to remain valid for the duration of the session. The service can be marked as useable within such a session.
(iv) EPRs are looked up once per client lifecycle and only rebound if the service fails. If you recall from the original ESB architecture document, service migration is something that is on the roadmap (5.0) and if a service moves it can leave a forwarding address (EPR) and the architecture allows messages to be redirected and eventually short-cut, i.e., the client EPR is updated with the new EPR transparently as a result of receiving a response from a different endpoint.
(iii) and (iv) are really for the 5.0 architecture. However, it should be possible to add something along (i) and (ii) for 4.0. What do you think?
--
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, 9 months
[JBoss JIRA] Created: (JBESB-1855) Upper / lower case problems in SqlTableGatewayListener
by Tom Cunningham (JIRA)
Upper / lower case problems in SqlTableGatewayListener
------------------------------------------------------
Key: JBESB-1855
URL: http://jira.jboss.com/jira/browse/JBESB-1855
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Transports
Affects Versions: 4.3
Reporter: Tom Cunningham
Assigned To: Tom Cunningham
Fix For: 4.4
There are a few upper/lower case problems in trunk in SqlTableGatewayListener, where we are either looking for the upper-cased column name but try to find the lower-cased version, or we are looking for the lower cased version and send in the upper-cased version. The Quickstart only uses upper-cased column names (something we should probably change), so these problems likely did not show up during integration testing.
A workaround for now for users would be to use all upper-case letters in their column names in jboss-esb.xml. I don't see this problem in CP branch.
Index: src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java
===================================================================
--- src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java (revision 20835)
+++ src/org/jboss/soa/esb/listeners/gateway/SqlTableGatewayListener.java (working copy)
@@ -663,7 +663,7 @@
if (_currentRow.containsKey(sColName)) {
val = String.valueOf(_currentRow.get(sColName));
} else {
- val = String.valueOf(_upperCurrentRow.get(sColName));
+ val = String.valueOf(_upperCurrentRow.get(sColName.toUpperCase()));
}
_PSdeleteRow.setString(iParm++, val);
}
@@ -740,7 +740,7 @@
for (String sColName : _keys) {
Object oVal = null;
if (_currentRow.containsKey(sColName)) {
- oVal = String.valueOf(_currentRow.get(sColName.toUpperCase()));
+ oVal = String.valueOf(_currentRow.get(sColName));
} else {
oVal = String.valueOf(_upperCurrentRow.get(sColName.toUpperCase()));
}
--
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, 9 months
[JBoss JIRA] Created: (JBESB-1519) NotifyJMS creates sessions array but never uses anything other than element 0
by Mark Little (JIRA)
NotifyJMS creates sessions array but never uses anything other than element 0
-----------------------------------------------------------------------------
Key: JBESB-1519
URL: http://jira.jboss.com/jira/browse/JBESB-1519
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Rosetta
Affects Versions: 4.2.1
Reporter: Mark Little
Fix For: 4.3
In the code ...
/**
* The javax.jms.Session instance used to talk to JMS
*/
protected Session[] sessions;
then ...
if(obj == null) {
// create a null payload message...
jmsMessage = sessions[0].createObjectMessage(null);
} else if(obj instanceof byte[]) {
jmsMessage = sessions[0].createObjectMessage((byte[]) obj);
but ...
final int nrQueuesOrTopics = configTrees.length;
producers = new MessageProducer[nrQueuesOrTopics];
connectionPools = new JmsConnectionPool[nrQueuesOrTopics];
sessions = new Session[nrQueuesOrTopics];
--
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, 9 months
[JBoss JIRA] Created: (JBESB-1727) Investigate intermittent failures for JBossRemotingGatewayListenerUnitTest
by Kevin Conner (JIRA)
Investigate intermittent failures for JBossRemotingGatewayListenerUnitTest
--------------------------------------------------------------------------
Key: JBESB-1727
URL: http://jira.jboss.com/jira/browse/JBESB-1727
Project: JBoss ESB
Issue Type: Task
Security Level: Public (Everyone can see)
Components: Testing
Affects Versions: 4.2.1
Reporter: Kevin Conner
Fix For: 4.4
There is an intermittent failure in the unit test, when executed on linux. This causes the test run to terminate prematurely.
[java] [junit] Testcase: test took 5.128 sec
[java] [junit] Tests run: 4, Failures: 0, Errors: 1, Time elapsed: 1.33 sec
[java] [junit] Testsuite: org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListenerUnitTest
[java] [junit] Tests run: 4, Failures: 0, Errors: 1, Time elapsed: 1.33 sec
[java] [junit] ------------- Standard Output ---------------
[java] [junit] EMMA: collecting runtime coverage data ...
[java] [junit] Calling remoting server with locator uri of: http://build:8888
[java] [junit] ------------- ---------------- ---------------
[java] [junit] Testcase: unknown took 0.163 sec
[java] [junit] Testcase: unknown took 0.273 sec
[java] [junit] Testcase: unknown took 0.107 sec
[java] [junit] Testcase: unknown took 0.059 sec
[java] [junit] Caused an ERROR
[java] [junit] Unable to start Remoting Listener instsance org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener
[java] [junit] org.jboss.soa.esb.listeners.lifecycle.ManagedLifecycleException: Unable to start Remoting Listener instsance org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.startJBRServer(JBossRemotingGatewayListener.java:254)
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.doStart(JBossRemotingGatewayListener.java:221)
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListenerUnitTest.startServer(JBossRemotingGatewayListenerUnitTest.java:199)
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListenerUnitTest.test_delivery(JBossRemotingGatewayListenerUnitTest.java:157)
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListenerUnitTest.test_socket_(JBossRemotingGatewayListenerUnitTest.java:153)
[java] [junit] at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
[java] [junit] at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
[java] [junit] at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
[java] [junit] at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
[java] [junit] at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
[java] [junit] at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:71)
[java] [junit] at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
[java] [junit] at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
[java] [junit] at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
[java] [junit] at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
[java] [junit] at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:32)
[java] [junit] Caused by: java.net.BindException: Address already in use
[java] [junit] at java.net.PlainSocketImpl.socketBind(Native Method)
[java] [junit] at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
[java] [junit] at java.net.ServerSocket.bind(ServerSocket.java:319)
[java] [junit] at java.net.ServerSocket.<init>(ServerSocket.java:185)
[java] [junit] at javax.net.DefaultServerSocketFactory.createServerSocket(ServerSocketFactory.java:169)
[java] [junit] at org.jboss.remoting.transport.socket.SocketServerInvoker.createServerSocket(SocketServerInvoker.java:264)
[java] [junit] at org.jboss.remoting.transport.socket.SocketServerInvoker.start(SocketServerInvoker.java:193)
[java] [junit] at org.jboss.remoting.transport.Connector.start(Connector.java:322)
[java] [junit] at org.jboss.soa.esb.listeners.gateway.JBossRemotingGatewayListener.startJBRServer(JBossRemotingGatewayListener.java:249)
[java] [junit] ... 22 more
--
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, 9 months