[jboss-svn-commits] JBL Code SVN: r26485 - in labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc: ejb and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue May 12 15:40:52 EDT 2009
Author: whitingjr
Date: 2009-05-12 15:40:51 -0400 (Tue, 12 May 2009)
New Revision: 26485
Added:
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/servicelocator/
labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/servicelocator/ServiceLocator.java
Log:
Added: labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/servicelocator/ServiceLocator.java
===================================================================
--- labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/servicelocator/ServiceLocator.java (rev 0)
+++ labs/jbosstm/workspace/whitingjr/trunk/MVCCSampleEJB/src/main/java/uk/ac/ncl/sdia/mvcc/ejb/servicelocator/ServiceLocator.java 2009-05-12 19:40:51 UTC (rev 26485)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, the OpenSource J2EE webOS
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+package uk.ac.ncl.sdia.mvcc.ejb.servicelocator;
+
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+import org.apache.log4j.Logger;
+
+import uk.ac.ncl.sdia.mvcc.spec.PersonManager;
+import uk.ac.ncl.sdia.mvcc.spec.PersonManagerLocal;
+import uk.ac.ncl.sdia.mvcc.spec.PersonManagerRemote;
+
+public class ServiceLocator
+{
+ private static final String LOCAL_PERSON_MANAGER = "MVCCSampleEAR/PersonManager/local-uk.ac.ncl.sdia.mvcc.spec.PersonManagerLocal";
+ private static final String REMOTE_PERSON_MANAGER = "MVCCSampleEAR/PersonManager/remote-uk.ac.ncl.sdia.mvcc.spec.PersonManagerRemote";
+ private static final String LOCAL_PROVIDER = "localhost:1099";
+ private static Logger logger = Logger.getLogger(ServiceLocator.class);
+
+ public static PersonManager findRemotePersonManater()
+ {
+ PersonManager returnValue = null;
+ Object reference = findObject(REMOTE_PERSON_MANAGER, LOCAL_PROVIDER);
+ if (null != reference)
+ {
+ returnValue = (PersonManager)reference;
+ }
+ else
+ {
+ logger.error("Service Locator could not find a remote PersonManager using ["+REMOTE_PERSON_MANAGER+"]");
+ }
+ return returnValue;
+ }
+
+ public static PersonManagerLocal findLocalPersonManager()
+ {
+ PersonManagerLocal l_return = null;
+ Object object = findObject(LOCAL_PERSON_MANAGER, LOCAL_PROVIDER);
+ if (null != object)
+ {
+ l_return = (PersonManagerLocal)object;
+ }
+ else
+ {
+ logger.error("Service Locator could not find a local PersonManager using ["+LOCAL_PERSON_MANAGER+"]");
+ }
+
+ return l_return;
+ }
+ private static Object findObject(String _jndiName, String _provider)
+ {
+ Object l_return = null;
+ try {
+ InitialContext l_context = new InitialContext();
+ l_context.addToEnvironment(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
+ l_context.addToEnvironment(Context.PROVIDER_URL, _provider);
+ l_return = l_context.lookup(_jndiName);
+ } catch (Exception e) {
+ e.printStackTrace ();
+ }
+ return l_return;
+ }
+}
More information about the jboss-svn-commits
mailing list