diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-09 23:15:02 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2008-07-09 23:15:02 +0000 |
commit | 2851fd54c5ccd85d068c15ec3471b553b0052307 (patch) | |
tree | cc007c5020eded7ffe63adce2d7a58a138bd1f71 | |
parent | 212e0b44dac194a5fa9a37c386985fa43bbf016b (diff) |
Defer the creation of WorkManager to avoid the JNDI lookup
Also clear the openejb related system properties to avoid warnings in JNDI lookup
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@675379 13f79535-47bb-0310-9956-ffa450edef68
3 files changed, 30 insertions, 17 deletions
diff --git a/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java b/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java index 1cef8a902e..ff94ad7b93 100644 --- a/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java +++ b/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBSessionTypeTestCase.java @@ -31,33 +31,37 @@ import domain.CustomCompositeBuilder; */ public class UnknownEJBSessionTypeTestCase extends TestCase { - private CustomCompositeBuilder customDomain; + private CustomCompositeBuilder customDomain; @Override protected void setUp() throws Exception { - System.setProperty("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); + System.setProperty("java.naming.factory.initial", "org.apache.openejb.client.RemoteInitialContextFactory"); System.setProperty("java.naming.provider.url", "ejbd://localhost:8085"); - System.setProperty("managed", "false"); - + System.setProperty("managed", "false"); + customDomain = CustomCompositeBuilder.getInstance(); try { - customDomain.loadContribution("src/main/resources/bindingejb/UnknownEJBSessionType/account.composite", - "TestContribution", "src/main/resources/bindingejb/UnknownEJBSessionType/"); - } catch (Exception ex){ + customDomain.loadContribution("src/main/resources/bindingejb/UnknownEJBSessionType/account.composite", + "TestContribution", + "src/main/resources/bindingejb/UnknownEJBSessionType/"); + } catch (Exception ex) { //throw ex; } } @Override protected void tearDown() throws Exception { + System.clearProperty("java.naming.factory.initial"); + System.clearProperty("java.naming.provider.url"); + System.clearProperty("managed"); //node.stop(); } public void testCalculator() { - Monitor monitor = customDomain.getMonitorInstance(); - Problem problem = ((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem(); - - assertNotNull(problem); - assertEquals("UnknownEJBSessionType", problem.getMessageId()); + Monitor monitor = customDomain.getMonitorInstance(); + Problem problem = ((DefaultLoggingMonitorImpl)monitor).getLastLoggedProblem(); + + assertNotNull(problem); + assertEquals("UnknownEJBSessionType", problem.getMessageId()); } } diff --git a/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java b/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java index bacddc93a8..a192674aeb 100644 --- a/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java +++ b/java/sca/itest/validation/src/test/java/binding/ejb/UnknownEJBVersionTestCase.java @@ -50,6 +50,9 @@ public class UnknownEJBVersionTestCase extends TestCase { @Override protected void tearDown() throws Exception { + System.clearProperty("java.naming.factory.initial"); + System.clearProperty("java.naming.provider.url"); + System.clearProperty("managed"); //node.stop(); } diff --git a/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java b/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java index b331517c85..90c13e6da8 100644 --- a/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java +++ b/java/sca/modules/core/src/main/java/org/apache/tuscany/sca/core/work/Jsr237WorkScheduler.java @@ -56,16 +56,22 @@ public class Jsr237WorkScheduler implements WorkScheduler { * @param jsr237WorkManager JSR 237 work manager. */ public Jsr237WorkScheduler() { - + } + + private synchronized WorkManager getWorkManager() { + if (jsr237WorkManager != null) { + return jsr237WorkManager; + } try { - InitialContext ctx = new InitialContext(); - jsr237WorkManager = (WorkManager) ctx.lookup("java:comp/env/wm/TuscanyWorkManager"); + InitialContext ctx = new InitialContext(); + jsr237WorkManager = (WorkManager)ctx.lookup("java:comp/env/wm/TuscanyWorkManager"); } catch (NamingException e) { // ignore } if (jsr237WorkManager == null) { jsr237WorkManager = new ThreadPoolWorkManager(10); } + return jsr237WorkManager; } /** @@ -94,10 +100,10 @@ public class Jsr237WorkScheduler implements WorkScheduler { Jsr237Work<T> jsr237Work = new Jsr237Work<T>(work); try { if (listener == null) { - jsr237WorkManager.schedule(jsr237Work); + getWorkManager().schedule(jsr237Work); } else { Jsr237WorkListener<T> jsr237WorkListener = new Jsr237WorkListener<T>(listener, work); - jsr237WorkManager.schedule(jsr237Work, jsr237WorkListener); + getWorkManager().schedule(jsr237Work, jsr237WorkListener); } } catch (IllegalArgumentException ex) { if (listener != null) { |