You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ch...@apache.org on 2005/08/20 01:01:52 UTC
svn commit: r233570 - in /geronimo/trunk:
modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/
modules/connector/src/java/org/apache/geronimo/connector/
modules/connector/src/java/org/apache/geronimo/connector/work/
sandbox/spri...
Author: chirino
Date: Fri Aug 19 16:01:38 2005
New Revision: 233570
URL: http://svn.apache.org/viewcvs?rev=233570&view=rev
Log:
Did some futher decoupling of the connector module from geronimo kernel. The connector module can now run standalone without the geronimo kernel.
Modified:
geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapper.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapperGBean.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java
geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java
geronimo/trunk/sandbox/spring-assembly/src/conf/server.xml
Modified: geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Fri Aug 19 16:01:38 2005
@@ -292,7 +292,7 @@
ResourceadapterType resourceadapter = ((ConnectorType) specDD).getResourceadapter();
// Create the resource adapter gbean
if (resourceadapter.isSetResourceadapterClass()) {
- GBeanInfoBuilder resourceAdapterInfoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapper.class, ResourceAdapterWrapperGBean.GBEAN_INFO);
+ GBeanInfoBuilder resourceAdapterInfoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapperGBean.class, ResourceAdapterWrapperGBean.GBEAN_INFO);
GBeanData resourceAdapterGBeanData = setUpDynamicGBean(resourceAdapterInfoBuilder, resourceadapter.getConfigPropertyArray(), cl);
resourceAdapterGBeanData.setAttribute("resourceAdapterClass", resourceadapter.getResourceadapterClass().getStringValue().trim());
@@ -518,7 +518,7 @@
String messageListenerInterface = messagelistenerType.getMessagelistenerType().getStringValue().trim();
ActivationspecType activationspec = messagelistenerType.getActivationspec();
String activationSpecClassName = activationspec.getActivationspecClass().getStringValue().trim();
- GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapper.class, ActivationSpecWrapperGBean.GBEAN_INFO);
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapperGBean.class, ActivationSpecWrapperGBean.GBEAN_INFO);
//add all javabean properties that have both getter and setter. Ignore the "required" flag from the dd.
Map getters = new HashMap();
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapper.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapper.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapper.java Fri Aug 19 16:01:38 2005
@@ -24,8 +24,6 @@
import javax.transaction.SystemException;
import javax.transaction.xa.XAResource;
-import org.apache.geronimo.gbean.DynamicGBean;
-import org.apache.geronimo.gbean.DynamicGBeanDelegate;
import org.apache.geronimo.transaction.manager.NamedXAResource;
import org.apache.geronimo.transaction.manager.ResourceManager;
import org.apache.geronimo.transaction.manager.WrapperNamedXAResource;
@@ -37,10 +35,9 @@
*
* @version $Rev$ $Date$
*/
-public class ActivationSpecWrapper implements ResourceManager, DynamicGBean {
+public class ActivationSpecWrapper implements ResourceManager {
- private final DynamicGBeanDelegate delegate;
- private final ActivationSpec activationSpec;
+ protected final ActivationSpec activationSpec;
private final ResourceAdapterWrapper resourceAdapterWrapper;
private final String containerId;
@@ -50,7 +47,6 @@
*/
public ActivationSpecWrapper() {
activationSpec = null;
- delegate = null;
containerId = null;
resourceAdapterWrapper = null;
}
@@ -67,9 +63,7 @@
final ResourceAdapterWrapper resourceAdapterWrapper,
final ClassLoader cl) throws IllegalAccessException, InstantiationException, ClassNotFoundException {
Class clazz = cl.loadClass(activationSpecClass);
- activationSpec = (ActivationSpec) clazz.newInstance();
- delegate = new DynamicGBeanDelegate();
- delegate.addAll(activationSpec);
+ this.activationSpec = (ActivationSpec) clazz.newInstance();
this.containerId = containerId;
this.resourceAdapterWrapper = resourceAdapterWrapper;
}
@@ -80,7 +74,6 @@
this.activationSpec = activationSpec;
this.resourceAdapterWrapper = resourceAdapterWrapper;
this.containerId = null;
- this.delegate=null;
}
/**
@@ -100,43 +93,6 @@
return resourceAdapterWrapper;
}
- //DynamicGBean implementation
-
- /**
- * Delegating DynamicGBean getAttribute method.
- *
- * @param name of attribute.
- * @return attribute value.
- * @throws Exception
- */
- public Object getAttribute(final String name) throws Exception {
- return delegate.getAttribute(name);
- }
-
- /**
- * Delegating DynamicGBean setAttribute method.
- *
- * @param name of attribute.
- * @param value of attribute to be set.
- * @throws Exception
- */
- public void setAttribute(final String name, final Object value) throws Exception {
- delegate.setAttribute(name, value);
- }
-
- /**
- * no-op DynamicGBean method
- *
- * @param name
- * @param arguments
- * @param types
- * @return nothing, there are no operations.
- * @throws Exception
- */
- public Object invoke(final String name, final Object[] arguments, final String[] types) throws Exception {
- //we have no dynamic operations.
- return null;
- }
//GBeanLifecycle implementation
public void activate(final MessageEndpointFactory messageEndpointFactory) throws ResourceException {
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapperGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapperGBean.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapperGBean.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ActivationSpecWrapperGBean.java Fri Aug 19 16:01:38 2005
@@ -21,6 +21,8 @@
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.DynamicGBean;
+import org.apache.geronimo.gbean.DynamicGBeanDelegate;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.transaction.manager.ResourceManager;
@@ -28,12 +30,62 @@
*
* @version $Revision$
*/
-public class ActivationSpecWrapperGBean {
-
+public class ActivationSpecWrapperGBean extends ActivationSpecWrapper implements DynamicGBean {
+
+ private final DynamicGBeanDelegate delegate;
+
+ public ActivationSpecWrapperGBean() {
+ delegate = null;
+ }
+
+ public ActivationSpecWrapperGBean(final String activationSpecClass, final String containerId, final ResourceAdapterWrapper resourceAdapterWrapper, final ClassLoader cl) throws IllegalAccessException, InstantiationException, ClassNotFoundException {
+ super(activationSpecClass, containerId, resourceAdapterWrapper, cl);
+ delegate = new DynamicGBeanDelegate();
+ delegate.addAll(activationSpec);
+ }
+
+ //DynamicGBean implementation
+
+ /**
+ * Delegating DynamicGBean getAttribute method.
+ *
+ * @param name of attribute.
+ * @return attribute value.
+ * @throws Exception
+ */
+ public Object getAttribute(final String name) throws Exception {
+ return delegate.getAttribute(name);
+ }
+
+ /**
+ * Delegating DynamicGBean setAttribute method.
+ *
+ * @param name of attribute.
+ * @param value of attribute to be set.
+ * @throws Exception
+ */
+ public void setAttribute(final String name, final Object value) throws Exception {
+ delegate.setAttribute(name, value);
+ }
+
+ /**
+ * no-op DynamicGBean method
+ *
+ * @param name
+ * @param arguments
+ * @param types
+ * @return nothing, there are no operations.
+ * @throws Exception
+ */
+ public Object invoke(final String name, final Object[] arguments, final String[] types) throws Exception {
+ //we have no dynamic operations.
+ return null;
+ }
+
public static final GBeanInfo GBEAN_INFO;
static {
- GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapper.class, NameFactory.JCA_ACTIVATION_SPEC);
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ActivationSpecWrapperGBean.class, NameFactory.JCA_ACTIVATION_SPEC);
infoBuilder.addAttribute("activationSpecClass", String.class, true);
infoBuilder.addAttribute("containerId", String.class, true);
infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapper.java Fri Aug 19 16:01:38 2005
@@ -17,6 +17,8 @@
package org.apache.geronimo.connector;
+import org.apache.geronimo.connector.work.GeronimoWorkManager;
+
import javax.resource.ResourceException;
import javax.resource.spi.ActivationSpec;
import javax.resource.spi.BootstrapContext;
@@ -26,26 +28,20 @@
import javax.resource.spi.endpoint.MessageEndpointFactory;
import javax.transaction.xa.XAResource;
-import org.apache.geronimo.connector.work.GeronimoWorkManager;
-import org.apache.geronimo.gbean.DynamicGBean;
-import org.apache.geronimo.gbean.DynamicGBeanDelegate;
-import org.apache.geronimo.gbean.GBeanLifecycle;
-
/**
* Dynamic GBean wrapper around a ResourceAdapter object, exposing the config-properties as
* GBean attributes.
*
* @version $Rev$ $Date$
*/
-public class ResourceAdapterWrapper implements GBeanLifecycle, DynamicGBean, ResourceAdapter {
+public class ResourceAdapterWrapper implements ResourceAdapter {
private final String resourceAdapterClass;
private final BootstrapContext bootstrapContext;
- private final ResourceAdapter resourceAdapter;
+ protected final ResourceAdapter resourceAdapter;
- private final DynamicGBeanDelegate delegate;
/**
* default constructor for enhancement proxy endpoint
@@ -54,7 +50,6 @@
this.resourceAdapterClass = null;
this.bootstrapContext = null;
this.resourceAdapter = null;
- this.delegate = null;
}
public ResourceAdapterWrapper(final String resourceAdapterClass,
@@ -64,15 +59,12 @@
this.bootstrapContext = new BootstrapContextImpl(workManager);
Class clazz = cl.loadClass(resourceAdapterClass);
resourceAdapter = (ResourceAdapter) clazz.newInstance();
- delegate = new DynamicGBeanDelegate();
- delegate.addAll(resourceAdapter);
}
public ResourceAdapterWrapper(ResourceAdapter resourceAdapter, final GeronimoWorkManager workManager) {
this.resourceAdapterClass = resourceAdapter.getClass().getName();
this.bootstrapContext = new BootstrapContextImpl(workManager);
this.resourceAdapter = resourceAdapter;
- this.delegate=null;
}
public String getResourceAdapterClass() {
@@ -115,19 +107,5 @@
public void doFail() {
resourceAdapter.stop();
}
-
- public Object getAttribute(String name) throws Exception {
- return delegate.getAttribute(name);
- }
-
- public void setAttribute(String name, Object value) throws Exception {
- delegate.setAttribute(name, value);
- }
-
- public Object invoke(String name, Object[] arguments, String[] types) throws Exception {
- //we have no dynamic operations
- return null;
- }
-
}
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/ResourceAdapterWrapperGBean.java Fri Aug 19 16:01:38 2005
@@ -21,20 +21,48 @@
import javax.resource.spi.ResourceAdapterAssociation;
import org.apache.geronimo.connector.work.GeronimoWorkManager;
+import org.apache.geronimo.gbean.DynamicGBean;
+import org.apache.geronimo.gbean.DynamicGBeanDelegate;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
/**
*
* @version $Revision$
*/
-public class ResourceAdapterWrapperGBean {
-
+public class ResourceAdapterWrapperGBean extends ResourceAdapterWrapper implements GBeanLifecycle, DynamicGBean {
+
+ private final DynamicGBeanDelegate delegate;
+
+ public ResourceAdapterWrapperGBean() {
+ delegate=null;
+ }
+
+ public ResourceAdapterWrapperGBean(final String resourceAdapterClass, final GeronimoWorkManager workManager, ClassLoader cl) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+ super(resourceAdapterClass, workManager, cl);
+ delegate = new DynamicGBeanDelegate();
+ delegate.addAll(resourceAdapter);
+ }
+
+ public Object getAttribute(String name) throws Exception {
+ return delegate.getAttribute(name);
+ }
+
+ public void setAttribute(String name, Object value) throws Exception {
+ delegate.setAttribute(name, value);
+ }
+
+ public Object invoke(String name, Object[] arguments, String[] types) throws Exception {
+ //we have no dynamic operations
+ return null;
+ }
+
public static final GBeanInfo GBEAN_INFO;
static {
- GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapper.class, NameFactory.RESOURCE_ADAPTER);
+ GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ResourceAdapterWrapperGBean.class, NameFactory.RESOURCE_ADAPTER);
infoBuilder.addAttribute("resourceAdapterClass", String.class, true);
infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManager.java Fri Aug 19 16:01:38 2005
@@ -17,24 +17,22 @@
package org.apache.geronimo.connector.work;
-import javax.resource.spi.XATerminator;
-import javax.resource.spi.work.ExecutionContext;
-import javax.resource.spi.work.Work;
-import javax.resource.spi.work.WorkCompletedException;
-import javax.resource.spi.work.WorkException;
-import javax.resource.spi.work.WorkListener;
-import javax.resource.spi.work.WorkManager;
-
+import EDU.oswego.cs.dl.util.concurrent.Executor;
import org.apache.geronimo.connector.work.pool.NullWorkExecutorPool;
import org.apache.geronimo.connector.work.pool.ScheduleWorkExecutor;
import org.apache.geronimo.connector.work.pool.StartWorkExecutor;
import org.apache.geronimo.connector.work.pool.SyncWorkExecutor;
import org.apache.geronimo.connector.work.pool.WorkExecutor;
import org.apache.geronimo.connector.work.pool.WorkExecutorPool;
-import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.transaction.context.TransactionContextManager;
-import EDU.oswego.cs.dl.util.concurrent.Executor;
+import javax.resource.spi.XATerminator;
+import javax.resource.spi.work.ExecutionContext;
+import javax.resource.spi.work.Work;
+import javax.resource.spi.work.WorkCompletedException;
+import javax.resource.spi.work.WorkException;
+import javax.resource.spi.work.WorkListener;
+import javax.resource.spi.work.WorkManager;
/**
* WorkManager implementation which uses under the cover three WorkExecutorPool
@@ -46,7 +44,7 @@
*
* @version $Rev$ $Date$
*/
-public class GeronimoWorkManager implements WorkManager, GBeanLifecycle {
+public class GeronimoWorkManager implements WorkManager {
private final static int DEFAULT_POOL_SIZE = 10;
Modified: geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java (original)
+++ geronimo/trunk/modules/connector/src/java/org/apache/geronimo/connector/work/GeronimoWorkManagerGBean.java Fri Aug 19 16:01:38 2005
@@ -21,6 +21,7 @@
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.transaction.context.TransactionContextManager;
@@ -28,12 +29,23 @@
*
* @version $Revision$
*/
-public class GeronimoWorkManagerGBean {
-
+public class GeronimoWorkManagerGBean extends GeronimoWorkManager implements GBeanLifecycle {
+
+ public GeronimoWorkManagerGBean() {
+ }
+
+ public GeronimoWorkManagerGBean(int size, TransactionContextManager transactionContextManager) {
+ super(size, transactionContextManager);
+ }
+
+ public GeronimoWorkManagerGBean(int syncSize, int startSize, int schedSize, TransactionContextManager transactionContextManager) {
+ super(syncSize, startSize, schedSize, transactionContextManager);
+ }
+
public static final GBeanInfo GBEAN_INFO;
static {
- GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(GeronimoWorkManager.class, NameFactory.JCA_WORK_MANAGER);
+ GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(GeronimoWorkManagerGBean.class, NameFactory.JCA_WORK_MANAGER);
infoFactory.addInterface(WorkManager.class);
infoFactory.addAttribute("syncMaximumPoolSize", Integer.TYPE, true);
@@ -56,5 +68,7 @@
public static GBeanInfo getGBeanInfo() {
return GBEAN_INFO;
}
-
+
+
+
}
Modified: geronimo/trunk/sandbox/spring-assembly/src/conf/server.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/sandbox/spring-assembly/src/conf/server.xml?rev=233570&r1=233569&r2=233570&view=diff
==============================================================================
--- geronimo/trunk/sandbox/spring-assembly/src/conf/server.xml (original)
+++ geronimo/trunk/sandbox/spring-assembly/src/conf/server.xml Fri Aug 19 16:01:38 2005
@@ -135,7 +135,7 @@
<bean name="ConnectionTracker" class="org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinator"/>
- <bean name="DefaultWorkManager" class="org.apache.geronimo.connector.work.GeronimoWorkManager">
+ <bean name="DefaultWorkManager" class="org.apache.geronimo.connector.work.GeronimoWorkManagerGBean">
<property name="syncMaximumPoolSize"><value>10</value></property>
<property name="startMaximumPoolSize"><value>10</value></property>
<property name="scheduledMaximumPoolSize"><value>10</value></property>