You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by km...@apache.org on 2011/07/07 19:09:00 UTC

svn commit: r1143924 - in /openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian: AppLookupException.java AppStatus.java AppStatusRemote.java TomEEContainer.java

Author: kmalhi
Date: Thu Jul  7 17:08:59 2011
New Revision: 1143924

URL: http://svn.apache.org/viewvc?rev=1143924&view=rev
Log:
Now deploying using DeployerEjb. Deprecated the earlier mechanism of deployment. Will remove deprecated stuff before we move this project out of sandbox

Modified:
    openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppLookupException.java
    openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatus.java
    openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatusRemote.java
    openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java

Modified: openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppLookupException.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppLookupException.java?rev=1143924&r1=1143923&r2=1143924&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppLookupException.java (original)
+++ openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppLookupException.java Thu Jul  7 17:08:59 2011
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 package org.apache.openejb.arquillian;
-
+@Deprecated
 public class AppLookupException extends Exception {
 
     private static final long serialVersionUID = 5131748818917110220L;

Modified: openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatus.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatus.java?rev=1143924&r1=1143923&r2=1143924&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatus.java (original)
+++ openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatus.java Thu Jul  7 17:08:59 2011
@@ -23,7 +23,8 @@ import java.util.List;
 
 import javax.ejb.Stateless;
 
-@Stateless
+//@Stateless
+@Deprecated
 public class AppStatus implements AppStatusRemote {
 
     public String[] getDeployedApps() throws AppLookupException {

Modified: openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatusRemote.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatusRemote.java?rev=1143924&r1=1143923&r2=1143924&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatusRemote.java (original)
+++ openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/AppStatusRemote.java Thu Jul  7 17:08:59 2011
@@ -18,7 +18,8 @@ package org.apache.openejb.arquillian;
 
 import javax.ejb.Remote;
 
-@Remote
+//@Remote
+@Deprecated
 public interface AppStatusRemote {
     public String[] getDeployedApps() throws AppLookupException;
 }

Modified: openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java?rev=1143924&r1=1143923&r2=1143924&view=diff
==============================================================================
--- openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java (original)
+++ openejb/trunk/sandbox/arquillian-tomee/arquillian-tomee-container/src/main/java/org/apache/openejb/arquillian/TomEEContainer.java Thu Jul  7 17:08:59 2011
@@ -25,6 +25,8 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
 import java.lang.management.ManagementFactory;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
 import java.net.URL;
 import java.util.Properties;
 import java.util.Set;
@@ -34,6 +36,7 @@ import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.naming.Context;
 import javax.naming.InitialContext;
+import javax.naming.NamingException;
 
 import org.apache.catalina.startup.Bootstrap;
 import org.apache.velocity.Template;
@@ -127,17 +130,7 @@ public class TomEEContainer implements D
     public ProtocolMetaData deploy(Archive<?> archive) throws DeploymentException {
         try {
             copyArchive(archive);
-
-            boolean deployed = false;
-            int attempts = 0;
-            while (attempts < configuration.getTimeout() && deployed == false) {
-                // need to poll for the app being deployed
-                attempts++;
-                Thread.sleep(1000);
-
-                deployed = checkDeploymentStatus(archive);
-            }
-
+            deployUsingDeployerEjb(archive);
             HTTPContext httpContext = new HTTPContext("0.0.0.0", configuration.getHttpPort());
             return new ProtocolMetaData().addContext(httpContext);
         } catch (Exception e) {
@@ -146,11 +139,20 @@ public class TomEEContainer implements D
         }
     }
 
+    private void deployUsingDeployerEjb(Archive<?> archive) throws NamingException, NoSuchMethodException, IllegalAccessException, InvocationTargetException {
+        Properties properties = new Properties();
+        properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
+        InitialContext context = new InitialContext(properties);
+        Object deployer = context.lookup("openejb/DeployerBusinessRemote");
+        Method deploy = deployer.getClass().getDeclaredMethod("deploy", String.class);
+        deploy.invoke(deployer, catalinaDirectory.getAbsolutePath() + "/webapps/" + archive.getName());
+    }
+
     private void copyArchive(Archive<?> archive) throws IOException, FileNotFoundException {
         InputStream is = archive.as(ZipExporter.class).exportAsInputStream();
         copyStream(is, new FileOutputStream(new File(catalinaDirectory, "webapps/" + archive.getName())));
     }
-
+    @Deprecated
     private boolean checkDeploymentStatus(Archive<?> archive) throws Exception {
         if (usingOpenEJB) {
             try {