You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/10/29 01:38:55 UTC
svn commit: r1403134 - in /openejb/trunk/openejb/server:
openejb-derbynet/src/test/ openejb-derbynet/src/test/java/
openejb-derbynet/src/test/java/org/
openejb-derbynet/src/test/java/org/apache/
openejb-derbynet/src/test/java/org/apache/openejb/ openej...
Author: dblevins
Date: Mon Oct 29 00:38:55 2012
New Revision: 1403134
URL: http://svn.apache.org/viewvc?rev=1403134&view=rev
Log:
Test for the the derbynet server service
Added:
openejb/trunk/openejb/server/openejb-derbynet/src/test/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/
openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java
openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java
Modified:
openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
Added: openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java?rev=1403134&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java (added)
+++ openejb/trunk/openejb/server/openejb-derbynet/src/test/java/org/apache/openejb/server/derbynet/DerbyNetworkServiceTest.java Mon Oct 29 00:38:55 2012
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server.derbynet;
+
+import org.apache.openejb.server.ServerService;
+import org.apache.openejb.server.ServiceFinder;
+import org.apache.openejb.server.SimpleServiceManager;
+import org.apache.openejb.util.NetworkUtil;
+import org.junit.Test;
+
+import java.io.IOException;
+import java.net.Socket;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class DerbyNetworkServiceTest {
+
+ @Test
+ public void test() throws Exception {
+ final int port = NetworkUtil.getNextAvailablePort();
+
+ final SimpleServiceManager serviceManager = new SimpleServiceManager(new ServiceFinder() {
+ @Override
+ public Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
+ final Properties properties = new Properties();
+ properties.setProperty("server", DerbyNetworkService.class.getName());
+ properties.setProperty("port", port + "");
+ properties.setProperty("disabled", "false");
+ properties.put(ServerService.class, DerbyNetworkService.class);
+ Map<String, Properties> services = new HashMap<String, Properties>();
+ services.put("derbynet", properties);
+ return services;
+ }
+ });
+
+ serviceManager.init();
+ serviceManager.start(false);
+
+ final Socket derbyClient = new Socket("localhost", port);
+
+ serviceManager.stop();
+ }
+}
Added: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java?rev=1403134&view=auto
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java (added)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceFinder.java Mon Oct 29 00:38:55 2012
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.openejb.server;
+
+import java.io.IOException;
+import java.util.Map;
+import java.util.Properties;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface ServiceFinder {
+ Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException;
+}
Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java?rev=1403134&r1=1403133&r2=1403134&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/ServiceManager.java Mon Oct 29 00:38:55 2012
@@ -168,6 +168,7 @@ public abstract class ServiceManager {
return service;
} catch (Throwable t) {
+ t.printStackTrace();
logger.error("service.instantiation.err", t, serviceClass.getName(), t.getClass().getName(), t.getMessage());
}
}
Modified: openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java?rev=1403134&r1=1403133&r2=1403134&view=diff
==============================================================================
--- openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java (original)
+++ openejb/trunk/openejb/server/openejb-server/src/main/java/org/apache/openejb/server/SimpleServiceManager.java Mon Oct 29 00:38:55 2012
@@ -44,9 +44,15 @@ public class SimpleServiceManager extend
private ServerService[] daemons;
private boolean stop = false;
+ private ServiceFinder serviceFinder;
public SimpleServiceManager() {
+ this(new SimpleServiceFinder("META-INF/"));
+ }
+
+ public SimpleServiceManager(ServiceFinder serviceFinder) {
+ this.serviceFinder = serviceFinder;
}
// Have properties files (like xinet.d) that specifies what daemons to
@@ -66,24 +72,25 @@ public class SimpleServiceManager extend
// The port to use
// whether it's turned on
// May be reusable elsewhere, move if another use occurs
- public static class ServiceFinder {
+ public static class SimpleServiceFinder implements ServiceFinder {
private final ResourceFinder resourceFinder;
private ClassLoader classLoader;
- public ServiceFinder(String basePath) {
+ public SimpleServiceFinder(String basePath) {
this(basePath, Thread.currentThread().getContextClassLoader());
}
- public ServiceFinder(String basePath, ClassLoader classLoader) {
+ public SimpleServiceFinder(String basePath, ClassLoader classLoader) {
this.resourceFinder = new ResourceFinder(basePath, classLoader);
this.classLoader = classLoader;
}
- public Map mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
- Map services = resourceFinder.mapAvailableProperties(ServerService.class.getName());
+ @Override
+ public Map<String, Properties> mapAvailableServices(Class interfase) throws IOException, ClassNotFoundException {
+ final Map<String, Properties> service = resourceFinder.mapAvailableProperties(ServerService.class.getName());
- for (Iterator iterator = services.entrySet().iterator(); iterator.hasNext(); ) {
+ for (Iterator iterator = service.entrySet().iterator(); iterator.hasNext(); ) {
Map.Entry entry = (Map.Entry) iterator.next();
String name = (String) entry.getKey();
Properties properties = (Properties) entry.getValue();
@@ -103,7 +110,7 @@ public class SimpleServiceManager extend
properties.put(Properties.class, rawProperties);
}
- return services;
+ return service;
}
}
@@ -138,9 +145,7 @@ public class SimpleServiceManager extend
SystemInstance.get().setComponent(DiscoveryRegistry.class, registry);
- ServiceFinder serviceFinder = new ServiceFinder("META-INF/");
-
- Map<String, Properties> availableServices = serviceFinder.mapAvailableServices(ServerService.class);
+ Map<String, Properties> availableServices = this.serviceFinder.mapAvailableServices(ServerService.class);
List<ServerService> enabledServers = initServers(availableServices);