Author: rmannibucau
Date: Sun Aug 19 20:10:07 2012
New Revision: 1374837
URL: http://svn.apache.org/viewvc?rev=1374837&view=rev
Log:
managing a retry if the deployer was not correctly looked up by arquillian
adapter
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1374837&r1=1374836&r2=1374837&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
Sun Aug 19 20:10:07 2012
@@ -257,10 +257,26 @@ public abstract class TomEEContainer<Con
}
protected Deployer deployer() throws NamingException {
- final Properties properties = new Properties();
- properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");
- properties.setProperty(Context.PROVIDER_URL, "http://" +
configuration.getHost() + ":" + configuration.getHttpPort() + "/tomee/ejb");
- return (Deployer) new
InitialContext(properties).lookup("openejb/DeployerBusinessRemote");
+ return lookupDeployerWithRetry(5);
+ }
+
+ protected Deployer lookupDeployerWithRetry(int retry) throws
NamingException {
+ try {
+ final Properties properties = new Properties();
+ properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.RemoteInitialContextFactory");
+ properties.setProperty(Context.PROVIDER_URL, "http://" +
configuration.getHost() + ":" + configuration.getHttpPort() + "/tomee/ejb");
+ return (Deployer) new
InitialContext(properties).lookup("openejb/DeployerBusinessRemote");
+ } catch (RuntimeException ne) { // surely
"org.apache.openejb.client.ClientRuntimeException: Invalid response from
server: -1"
+ if (retry > 1) {
+ try { // wait a bit before retrying
+ Thread.sleep(200);
+ } catch (InterruptedException ignored) {
+ // no-op
+ }
+ return lookupDeployerWithRetry(retry - 1);
+ }
+ throw ne;
+ }
}
protected String getArchiveNameWithoutExtension(final Archive<?> archive) {
Modified:
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java?rev=1374837&r1=1374836&r2=1374837&view=diff
==============================================================================
---
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
(original)
+++
openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
Sun Aug 19 20:10:07 2012
@@ -16,9 +16,7 @@
*/
package org.apache.tomee.arquillian.remote;
-import java.io.FileOutputStream;
import org.apache.openejb.arquillian.common.Files;
-import org.apache.openejb.arquillian.common.IO;
import org.apache.openejb.arquillian.common.Setup;
import org.apache.openejb.arquillian.common.TomEEContainer;
import org.apache.openejb.config.RemoteServer;