You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2008/01/02 00:07:19 UTC
svn commit: r607943 - in /geronimo/server/trunk:
framework/configs/j2ee-system/src/main/plan/
framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/
framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming...
Author: djencks
Date: Tue Jan 1 15:07:17 2008
New Revision: 607943
URL: http://svn.apache.org/viewvc?rev=607943&view=rev
Log:
GERONIMO-3718 experimental patch to speed up resource-refs.
Added:
geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java (with props)
geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java (with props)
geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java (with props)
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java (with props)
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java (with props)
Removed:
geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/ResourceReference.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectSource.java
Modified:
geronimo/server/trunk/framework/configs/j2ee-system/src/main/plan/plan.xml
geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java
geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java
geronimo/server/trunk/plugins/activemq/geronimo-activemq/src/main/java/org/apache/geronimo/activemq/BrokerServiceGBeanImpl.java
geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectWrapper.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/DatabaseInitializationGBean.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLog.java
geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLogGBean.java
geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/core/jms/JMSConnectionFactoryBean.java
geronimo/server/trunk/plugins/javamail/geronimo-mail/src/main/java/org/apache/geronimo/mail/MailGBean.java
geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10/src/main/java/org/apache/geronimo/persistence/PersistenceUnitGBean.java
geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledNonTransactionalTimer.java
geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledTransactionalTimer.java
geronimo/server/trunk/plugins/webservices/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/jaxr/JAXRGBean.java
Modified: geronimo/server/trunk/framework/configs/j2ee-system/src/main/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/configs/j2ee-system/src/main/plan/plan.xml?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/framework/configs/j2ee-system/src/main/plan/plan.xml (original)
+++ geronimo/server/trunk/framework/configs/j2ee-system/src/main/plan/plan.xml Tue Jan 1 15:07:17 2008
@@ -80,8 +80,8 @@
<!--Configuration Manager service-->
<gbean name="ConfigurationManager" class="org.apache.geronimo.kernel.config.EditableKernelConfigurationManager">
+ <!--<attribute name="defaultStoreNameQuery">?name=MasterConfigurationStore</attribute>-->
<attribute name="defaultStoreNameQuery">?name=Local</attribute>
- <reference name="Repositories"></reference>
<reference name="Repositories"></reference>
<reference name="Stores"></reference>
<reference name="Watchers"></reference>
Modified: geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-deployment/src/main/java/org/apache/geronimo/deployment/Deployer.java Tue Jan 1 15:07:17 2008
@@ -307,7 +307,7 @@
Manifest manifest,
ConfigurationStore store,
DeploymentContext context) throws DeploymentException, IOException, Throwable {
- List configurations = new ArrayList();
+ List<ConfigurationData> configurations = new ArrayList<ConfigurationData>();
configurations.add(context.getConfigurationData());
configurations.addAll(context.getAdditionalDeployment());
Added: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java?rev=607943&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java (added)
+++ geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java Tue Jan 1 15:07:17 2008
@@ -0,0 +1,30 @@
+/*
+ * 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.geronimo.naming;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public interface ResourceSource<E extends Throwable> {
+
+ Object $getResource() throws E;
+
+}
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/ResourceSource.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java (original)
+++ geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/enc/EnterpriseNamingContext.java Tue Jan 1 15:07:17 2008
@@ -17,10 +17,10 @@
package org.apache.geronimo.naming.enc;
+import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import java.util.Collections;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -28,6 +28,7 @@
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.naming.reference.ClassLoaderAwareReference;
+import org.apache.geronimo.naming.reference.EntryFactory;
import org.apache.geronimo.naming.reference.KernelAwareReference;
import org.apache.xbean.naming.context.ImmutableContext;
@@ -36,20 +37,23 @@
*/
public final class EnterpriseNamingContext {
- public static Context createEnterpriseNamingContext(Map componentContext, UserTransaction userTransaction, Kernel kernel, ClassLoader classLoader) throws NamingException {
- Map map = new HashMap();
+ public static Context createEnterpriseNamingContext(Map<String, Object> componentContext, UserTransaction userTransaction, Kernel kernel, ClassLoader classLoader) throws NamingException {
+ Map<String, Object> map = new HashMap<String, Object>();
if (componentContext != null) {
map.putAll(componentContext);
}
boolean containsEnv = false;
- for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- String name = (String) entry.getKey();
+ for (Map.Entry<String, Object> entry: map.entrySet()) {
+ String name = entry.getKey();
Object value = entry.getValue();
if (name.startsWith("env/")) {
containsEnv = true;
+ }
+ if (value instanceof EntryFactory) {
+ value = ((EntryFactory)value).buildEntry(kernel, classLoader);
+ entry.setValue(value);
}
if (value instanceof KernelAwareReference) {
((KernelAwareReference) value).setKernel(kernel);
Added: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java?rev=607943&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java (added)
+++ geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java Tue Jan 1 15:07:17 2008
@@ -0,0 +1,139 @@
+/*
+ * 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.geronimo.naming.reference;
+
+import java.util.List;
+import java.util.Set;
+import java.util.Collections;
+
+import javax.naming.NamingException;
+import javax.naming.NameNotFoundException;
+
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.GBeanNotFoundException;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.kernel.config.Configuration;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
+import org.apache.geronimo.kernel.config.ConfigurationUtil;
+import org.apache.geronimo.gbean.AbstractName;
+import org.apache.geronimo.gbean.AbstractNameQuery;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public abstract class AbstractEntryFactory<T, S> implements EntryFactory<T> {
+ private static final long serialVersionUID = 7642216668523441421L;
+ private final Artifact[] configId;
+ private final Set<AbstractNameQuery> abstractNameQueries;
+ private final Class<S> gbeanClass;
+
+ protected AbstractEntryFactory(Artifact[] configId, AbstractNameQuery abstractNameQuery, Class<S> gbeanClass) {
+ this(configId, Collections.singleton(abstractNameQuery), gbeanClass);
+ }
+
+ protected AbstractEntryFactory(Artifact[] configId, Set<AbstractNameQuery> abstractNameQueries, Class<S> gbeanClass) {
+ if (configId == null || configId.length == 0) {
+ throw new NullPointerException("No configId");
+ }
+ this.configId = configId;
+ this.abstractNameQueries = abstractNameQueries;
+ this.gbeanClass = gbeanClass;
+ }
+
+ protected S getGBean(Kernel kernel) throws NamingException {
+ AbstractName target;
+ try {
+ target = resolveTargetName(kernel);
+ } catch (GBeanNotFoundException e) {
+ throw (NameNotFoundException) new NameNotFoundException("Could not resolve name query: " + abstractNameQueries).initCause(e);
+ }
+
+ Object proxy;
+ try {
+ proxy = kernel.getGBean(target);
+ } catch (Exception e) {
+ throw (IllegalStateException) new IllegalStateException("Could not get proxy").initCause(e);
+ }
+ if (proxy == null) {
+ throw new IllegalStateException("Proxy not returned. Target " + target + " not started");
+ }
+ checkClass(proxy, gbeanClass);
+ return (S)proxy;
+
+ }
+
+ protected void checkClass(Object proxy, Class clazz) {
+ if (!clazz.isAssignableFrom(proxy.getClass())) {
+ Class proxyClass = proxy.getClass();
+ Class[] interfaces = proxyClass.getInterfaces();
+ StringBuffer message = new StringBuffer();
+ boolean namesMatch = false;
+ for (Class anInterface : interfaces) {
+ if (clazz.getName().equals(anInterface.getName())) {
+ namesMatch = true;
+ message.append("Proxy implements correct interface: ").append(clazz.getName()).append(", but classloaders differ\n");
+ message.append("lookup interface classloader: ").append(clazz.getClassLoader().toString()).append("\n");
+ message.append("target interface classloader: ").append(anInterface.getClassLoader().toString()).append("\n");
+ message.append("target proxy classloader: ").append(proxy.getClass().getClassLoader());
+ break;
+ }
+ }
+ if (!namesMatch) {
+ message.append("Proxy does not implement an interface named: ").append(clazz.getName());
+ }
+ throw new ClassCastException(message.toString());
+ }
+ }
+
+ public Configuration getConfiguration(Kernel kernel) {
+ ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
+ Configuration configuration = configurationManager.getConfiguration(configId[0]);
+ if (configuration == null) {
+ throw new IllegalStateException("No configuration found for id: " + configId[0]);
+ }
+ next: for (int i = 1; i < configId.length; i++) {
+ List<Configuration> children = configuration.getChildren();
+ for (Configuration child: children) {
+ if (child.getId().equals(configId[i])) {
+ configuration = child;
+ break next;
+ }
+ }
+ throw new IllegalStateException("No configuration found for id: " + configId[i]);
+ }
+ return configuration;
+ }
+
+ public AbstractName resolveTargetName(Kernel kernel) throws GBeanNotFoundException {
+ Configuration configuration = getConfiguration(kernel);
+ try {
+ return configuration.findGBean(abstractNameQueries);
+ } catch (GBeanNotFoundException e) {
+ Set results = kernel.listGBeans(abstractNameQueries);
+ if (results.size() == 1) {
+ return (AbstractName) results.iterator().next();
+ }
+ throw new GBeanNotFoundException("Name query " + abstractNameQueries + " not satisfied in kernel, matches: " + results, e);
+ }
+ }
+
+
+}
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/AbstractEntryFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java?rev=607943&view=auto
==============================================================================
--- geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java (added)
+++ geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java Tue Jan 1 15:07:17 2008
@@ -0,0 +1,36 @@
+/*
+ * 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.geronimo.naming.reference;
+
+import java.io.Serializable;
+
+import javax.naming.NamingException;
+
+import org.apache.geronimo.kernel.Kernel;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public interface EntryFactory<T> extends Serializable {
+
+ T buildEntry(Kernel kernel, ClassLoader classLoader) throws NamingException;
+
+}
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/framework/modules/geronimo-naming/src/main/java/org/apache/geronimo/naming/reference/EntryFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/server/trunk/plugins/activemq/geronimo-activemq/src/main/java/org/apache/geronimo/activemq/BrokerServiceGBeanImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/activemq/geronimo-activemq/src/main/java/org/apache/geronimo/activemq/BrokerServiceGBeanImpl.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/activemq/geronimo-activemq/src/main/java/org/apache/geronimo/activemq/BrokerServiceGBeanImpl.java (original)
+++ geronimo/server/trunk/plugins/activemq/geronimo-activemq/src/main/java/org/apache/geronimo/activemq/BrokerServiceGBeanImpl.java Tue Jan 1 15:07:17 2008
@@ -19,21 +19,21 @@
import java.net.URI;
-import javax.sql.DataSource;
import javax.jms.JMSException;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import javax.resource.ResourceException;
+import javax.sql.DataSource;
import org.apache.activemq.broker.BrokerFactory;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.broker.jmx.ManagementContext;
import org.apache.activemq.store.DefaultPersistenceAdapterFactory;
import org.apache.activemq.transport.TransportDisposedIOException;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.management.geronimo.JMSManager;
import org.apache.geronimo.management.geronimo.NetworkConnector;
import org.apache.geronimo.system.jmx.MBeanServerReference;
@@ -53,7 +53,7 @@
private BrokerService brokerService;
private ServerInfo serverInfo;
private String dataDirectory;
- private ConnectionFactorySource dataSource;
+ private ResourceSource<ResourceException> dataSource;
private ClassLoader classLoader;
private String objectName;
private JMSManager manager;
@@ -154,7 +154,7 @@
infoBuilder.addAttribute("brokerUri", String.class, true);
infoBuilder.addAttribute("useShutdownHook", Boolean.TYPE, true);
infoBuilder.addAttribute("dataDirectory", String.class, true);
- infoBuilder.addReference("dataSource", ConnectionFactorySource.class);
+ infoBuilder.addReference("dataSource", ResourceSource.class);
infoBuilder.addAttribute("objectName", String.class, false);
infoBuilder.addReference("manager", JMSManager.class);
infoBuilder.addInterface(BrokerServiceGBean.class);
@@ -201,11 +201,11 @@
this.dataDirectory = dataDir;
}
- public ConnectionFactorySource getDataSource() {
+ public ResourceSource<ResourceException> getDataSource() {
return dataSource;
}
- public void setDataSource(ConnectionFactorySource dataSource) {
+ public void setDataSource(ResourceSource<ResourceException> dataSource) {
this.dataSource = dataSource;
}
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/AdminObjectRefBuilder.java Tue Jan 1 15:07:17 2008
@@ -31,11 +31,12 @@
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.common.DeploymentException;
import org.apache.geronimo.common.UnresolvedReferenceException;
+import org.apache.geronimo.connector.naming.ResourceReferenceFactory;
import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.EARContext;
+import org.apache.geronimo.j2ee.deployment.Module;
import org.apache.geronimo.j2ee.deployment.annotation.AnnotatedApp;
import org.apache.geronimo.j2ee.deployment.annotation.ResourceAnnotationHelper;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
@@ -43,7 +44,6 @@
import org.apache.geronimo.kernel.config.Configuration;
import org.apache.geronimo.kernel.repository.Environment;
import org.apache.geronimo.naming.deployment.AbstractNamingBuilder;
-import org.apache.geronimo.naming.reference.ResourceReference;
import org.apache.geronimo.naming.reference.UserTransactionReference;
import org.apache.geronimo.xbeans.geronimo.naming.GerMessageDestinationDocument;
import org.apache.geronimo.xbeans.geronimo.naming.GerMessageDestinationType;
@@ -150,7 +150,7 @@
getJndiContextMap(componentContext).put(ENV + name, ref);
} else {
AbstractNameQuery containerId = getAdminObjectContainerId(name, gerResourceEnvRef);
- Reference ref = buildAdminObjectReference(module, containerId, iface);
+ ResourceReferenceFactory<RuntimeException> ref = buildAdminObjectReference(module, containerId, iface);
getJndiContextMap(componentContext).put(ENV + name, ref);
}
} catch (UnresolvedReferenceException e) {
@@ -213,7 +213,7 @@
//try to resolve ref based only matching resource-ref-name
//throws exception if it can't locate ref.
AbstractNameQuery containerId = buildAbstractNameQuery(null, moduleURI, linkName, NameFactory.JCA_ADMIN_OBJECT, NameFactory.RESOURCE_ADAPTER_MODULE);
- Reference ref = buildAdminObjectReference(module, containerId, iface);
+ ResourceReferenceFactory<RuntimeException> ref = buildAdminObjectReference(module, containerId, iface);
getJndiContextMap(componentContext).put(ENV + name, ref);
}
@@ -252,14 +252,14 @@
}
- private Reference buildAdminObjectReference(Module module, AbstractNameQuery containerId, Class iface) throws DeploymentException {
+ private ResourceReferenceFactory<RuntimeException> buildAdminObjectReference(Module module, AbstractNameQuery containerId, Class iface) throws DeploymentException {
Configuration localConfiguration = module.getEarContext().getConfiguration();
try {
localConfiguration.findGBean(containerId);
} catch (GBeanNotFoundException e) {
throw new DeploymentException("Can not resolve admin object ref " + containerId + " in configuration " + localConfiguration.getId(), e);
}
- return new ResourceReference(module.getConfigId(), containerId, iface);
+ return new ResourceReferenceFactory<RuntimeException>(module.getConfigId(), containerId, iface);
}
private static AbstractNameQuery getAdminObjectContainerId(String name, GerResourceEnvRefType gerResourceEnvRef) {
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Tue Jan 1 15:07:17 2008
@@ -38,13 +38,11 @@
import java.util.jar.JarFile;
import java.util.zip.ZipEntry;
-import javax.naming.Reference;
import javax.xml.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.common.DeploymentException;
-import org.apache.geronimo.common.UnresolvedReferenceException;
import org.apache.geronimo.common.propertyeditor.PropertyEditors;
import org.apache.geronimo.connector.ActivationSpecWrapperGBean;
import org.apache.geronimo.connector.AdminObjectWrapper;
@@ -99,7 +97,6 @@
import org.apache.geronimo.management.geronimo.JCAResourceAdapter;
import org.apache.geronimo.management.geronimo.ResourceAdapterModule;
import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
-import org.apache.geronimo.naming.reference.ResourceReference;
import org.apache.geronimo.schema.SchemaConversionUtils;
import org.apache.geronimo.xbeans.geronimo.GerAdminobjectInstanceType;
import org.apache.geronimo.xbeans.geronimo.GerAdminobjectType;
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector-builder/src/main/java/org/apache/geronimo/connector/deployment/ResourceRefBuilder.java Tue Jan 1 15:07:17 2008
@@ -30,12 +30,13 @@
import java.util.Set;
import javax.annotation.Resource;
-import javax.naming.Reference;
+import javax.resource.ResourceException;
import javax.xml.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.common.DeploymentException;
+import org.apache.geronimo.connector.naming.ResourceReferenceFactory;
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.gbean.AbstractNameQuery;
import org.apache.geronimo.gbean.GBeanInfo;
@@ -54,7 +55,6 @@
import org.apache.geronimo.naming.deployment.ResourceEnvironmentBuilder;
import org.apache.geronimo.naming.deployment.ResourceEnvironmentSetter;
import org.apache.geronimo.naming.reference.ORBReference;
-import org.apache.geronimo.naming.reference.ResourceReference;
import org.apache.geronimo.naming.reference.URLReference;
import org.apache.geronimo.xbeans.geronimo.naming.GerPatternType;
import org.apache.geronimo.xbeans.geronimo.naming.GerResourceRefDocument;
@@ -172,7 +172,7 @@
module.getEarContext().findGBean(containerId);
- Reference ref = new ResourceReference(module.getConfigId(), containerId, iface);
+ Object ref = new ResourceReferenceFactory<ResourceException>(module.getConfigId(), containerId, iface);
getJndiContextMap(componentContext).put(ENV + name, ref);
} catch (GBeanNotFoundException e) {
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectWrapper.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectWrapper.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/AdminObjectWrapper.java Tue Jan 1 15:07:17 2008
@@ -24,6 +24,7 @@
import org.apache.geronimo.gbean.AbstractName;
import org.apache.geronimo.gbean.DynamicGBean;
import org.apache.geronimo.gbean.DynamicGBeanDelegate;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.management.geronimo.JCAAdminObject;
@@ -33,7 +34,7 @@
*
* @version $Rev$ $Date$
*/
-public class AdminObjectWrapper implements DynamicGBean, JCAAdminObject, AdminObjectSource {
+public class AdminObjectWrapper implements DynamicGBean, JCAAdminObject, ResourceSource<RuntimeException> {
private final String adminObjectInterface;
private final String adminObjectClass;
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/DatabaseInitializationGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/DatabaseInitializationGBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/DatabaseInitializationGBean.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/DatabaseInitializationGBean.java Tue Jan 1 15:07:17 2008
@@ -22,20 +22,20 @@
import java.io.InputStreamReader;
import java.net.URL;
import java.sql.Connection;
+import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
-import java.sql.ResultSet;
+import javax.resource.ResourceException;
import javax.sql.DataSource;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
/**
* @version $Rev$ $Date$
*/
@@ -44,7 +44,7 @@
private static final Log log = LogFactory.getLog(DatabaseInitializationGBean.class);
- public DatabaseInitializationGBean(String testSQL, String path, ConnectionFactorySource cfSource, ClassLoader classLoader) throws Exception {
+ public DatabaseInitializationGBean(String testSQL, String path, ResourceSource<ResourceException> cfSource, ClassLoader classLoader) throws Exception {
DataSource ds = (DataSource) cfSource.$getResource();
Connection c = ds.getConnection();
@@ -118,7 +118,7 @@
GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(DatabaseInitializationGBean.class, "GBean");
infoBuilder.addAttribute("testSQL", String.class, false);
infoBuilder.addAttribute("path", String.class, true);
- infoBuilder.addReference("DataSource", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoBuilder.addReference("DataSource", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
infoBuilder.setConstructor(new String[]{"testSQL", "path", "DataSource", "classLoader"});
Added: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java?rev=607943&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java (added)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java Tue Jan 1 15:07:17 2008
@@ -0,0 +1,52 @@
+/*
+ * 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.geronimo.connector.naming;
+
+import javax.naming.NamingException;
+
+import org.apache.geronimo.naming.ResourceSource;
+import org.apache.xbean.naming.reference.SimpleReference;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class ResourceReference<E extends Throwable> extends SimpleReference {
+ private final ResourceSource<E> source;
+ private final String type;
+
+ public ResourceReference(ResourceSource<E> source, String type) {
+ this.source = source;
+ this.type = type;
+ }
+
+ public Object getContent() throws NamingException {
+ try {
+ return source.$getResource();
+ } catch (Throwable e) {
+ throw (NamingException)new NamingException("Could not create resource").initCause(e);
+ }
+ }
+
+ @Override
+ public String getClassName() {
+ return type;
+ }
+}
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReference.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java?rev=607943&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java (added)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java Tue Jan 1 15:07:17 2008
@@ -0,0 +1,48 @@
+/*
+ * 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.geronimo.connector.naming;
+
+import javax.naming.NamingException;
+
+import org.apache.geronimo.gbean.AbstractNameQuery;
+import org.apache.geronimo.naming.ResourceSource;
+import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.repository.Artifact;
+import org.apache.geronimo.naming.reference.AbstractEntryFactory;
+
+/**
+ * @version $Rev:$ $Date:$
+ */
+public class ResourceReferenceFactory<E extends Throwable> extends AbstractEntryFactory<ResourceReference<E>, ResourceSource> {
+ private static final long serialVersionUID = -8208147204560412794L;
+ private final String type;
+
+
+ public ResourceReferenceFactory(Artifact[] configId, AbstractNameQuery abstractNameQuery, Class targetClass) {
+ super(configId, abstractNameQuery, ResourceSource.class);
+ type = targetClass.getName();
+ }
+
+ public ResourceReference buildEntry(Kernel kernel, ClassLoader classLoader) throws NamingException {
+ ResourceSource<E> source = getGBean(kernel);
+ return new ResourceReference<E>(source, type);
+ }
+}
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/naming/ResourceReferenceFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/ManagedConnectionFactoryWrapper.java Tue Jan 1 15:07:17 2008
@@ -33,13 +33,14 @@
import org.apache.geronimo.gbean.DynamicGBean;
import org.apache.geronimo.gbean.DynamicGBeanDelegate;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.management.geronimo.JCAManagedConnectionFactory;
/**
* @version $Rev$ $Date$
*/
-public class ManagedConnectionFactoryWrapper implements GBeanLifecycle, DynamicGBean, JCAManagedConnectionFactory, ConnectionFactorySource {
+public class ManagedConnectionFactoryWrapper implements GBeanLifecycle, DynamicGBean, JCAManagedConnectionFactory, ResourceSource<ResourceException> {
private static final Log log = LogFactory.getLog(ManagedConnectionFactoryWrapper.class);
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLog.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLog.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLog.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLog.java Tue Jan 1 15:07:17 2008
@@ -26,11 +26,12 @@
import java.util.Iterator;
import java.util.List;
+import javax.resource.ResourceException;
import javax.sql.DataSource;
import javax.transaction.xa.Xid;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.transaction.manager.LogException;
import org.apache.geronimo.transaction.manager.Recovery;
import org.apache.geronimo.transaction.manager.TransactionBranchInfo;
@@ -52,9 +53,9 @@
private DataSource dataSource;
private final String systemId;
- private final ConnectionFactorySource managedConnectionFactoryWrapper;
+ private final ResourceSource<ResourceException> managedConnectionFactoryWrapper;
- public JDBCLog(String systemId, ConnectionFactorySource managedConnectionFactoryWrapper) {
+ public JDBCLog(String systemId, ResourceSource<ResourceException> managedConnectionFactoryWrapper) {
this.systemId = systemId;
this.managedConnectionFactoryWrapper = managedConnectionFactoryWrapper;
}
Modified: geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLogGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLogGBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLogGBean.java (original)
+++ geronimo/server/trunk/plugins/connector/geronimo-connector/src/main/java/org/apache/geronimo/connector/outbound/transactionlog/JDBCLogGBean.java Tue Jan 1 15:07:17 2008
@@ -17,9 +17,9 @@
package org.apache.geronimo.connector.outbound.transactionlog;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.transaction.manager.TransactionLog;
@@ -38,7 +38,7 @@
infoFactory.addInterface(TransactionLog.class);
- infoFactory.addReference("ConnectionFactorySource", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoFactory.addReference("ConnectionFactorySource", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
infoFactory.setConstructor(new String[]{"systemId", "ConnectionFactorySource"});
Modified: geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/core/jms/JMSConnectionFactoryBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/core/jms/JMSConnectionFactoryBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/core/jms/JMSConnectionFactoryBean.java (original)
+++ geronimo/server/trunk/plugins/console/console-core/src/main/java/org/apache/geronimo/console/core/jms/JMSConnectionFactoryBean.java Tue Jan 1 15:07:17 2008
@@ -18,27 +18,26 @@
package org.apache.geronimo.console.core.jms;
import javax.jms.ConnectionFactory;
+import javax.resource.ResourceException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.geronimo.connector.outbound.ManagedConnectionFactoryWrapper;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.naming.ResourceSource;
public class JMSConnectionFactoryBean implements GBeanLifecycle {
private static Log log = LogFactory.getLog(JMSConnectionFactoryBean.class);
- private final ConnectionFactorySource managedConnectionFactoryWrapper;
+ private final ResourceSource<ResourceException> managedConnectionFactoryWrapper;
private String connectionFactoryName = "jms/DefaultActiveMQConnectionFactory";
private ConnectionFactory connectionFactory;
- public JMSConnectionFactoryBean(
- ConnectionFactorySource managedConnectionFactoryWrapper) {
+ public JMSConnectionFactoryBean(ResourceSource managedConnectionFactoryWrapper) {
this.managedConnectionFactoryWrapper = managedConnectionFactoryWrapper;
}
@@ -70,15 +69,12 @@
static {
GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic("JMS Connection Factory Bean", JMSConnectionFactoryBean.class);
- infoFactory.addAttribute("connectionFactory", ConnectionFactory.class,
- false);
+ infoFactory.addAttribute("connectionFactory", ConnectionFactory.class, false);
- infoFactory.addReference("ManagedConnectionFactoryWrapper",
- ConnectionFactorySource.class);
+ infoFactory.addReference("ManagedConnectionFactoryWrapper", ResourceSource.class);
infoFactory.addOperation("getConnectionFactory");
- infoFactory
- .setConstructor(new String[] { "ManagedConnectionFactoryWrapper" });
+ infoFactory.setConstructor(new String[] { "ManagedConnectionFactoryWrapper" });
GBEAN_INFO = infoFactory.getBeanInfo();
}
Modified: geronimo/server/trunk/plugins/javamail/geronimo-mail/src/main/java/org/apache/geronimo/mail/MailGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/javamail/geronimo-mail/src/main/java/org/apache/geronimo/mail/MailGBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/javamail/geronimo-mail/src/main/java/org/apache/geronimo/mail/MailGBean.java (original)
+++ geronimo/server/trunk/plugins/javamail/geronimo-mail/src/main/java/org/apache/geronimo/mail/MailGBean.java Tue Jan 1 15:07:17 2008
@@ -16,22 +16,23 @@
*/
package org.apache.geronimo.mail;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Properties;
+
import javax.mail.Authenticator;
import javax.mail.Session;
import javax.naming.Context;
import javax.naming.InitialContext;
-import javax.naming.NamingException;
import javax.naming.Name;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.Properties;
+import javax.naming.NamingException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.management.JavaMailResource;
@@ -49,7 +50,7 @@
* @see POP3StoreGBean
* @see IMAPStoreGBean
*/
-public class MailGBean implements GBeanLifecycle, JavaMailResource {
+public class MailGBean implements GBeanLifecycle, JavaMailResource, ResourceSource {
private final Log log = LogFactory.getLog(MailGBean.class);
Modified: geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java (original)
+++ geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10-builder/src/main/java/org/apache/geronimo/persistence/builder/PersistenceUnitBuilder.java Tue Jan 1 15:07:17 2008
@@ -49,6 +49,7 @@
import org.apache.geronimo.kernel.Naming;
import org.apache.geronimo.kernel.config.ConfigurationStore;
import org.apache.geronimo.kernel.repository.Environment;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.persistence.PersistenceUnitGBean;
import org.apache.geronimo.xbeans.persistence.PersistenceDocument;
import org.apache.xbean.finder.ResourceFinder;
@@ -69,6 +70,7 @@
private final AbstractNameQuery defaultNonJtaDataSourceName;
private final AbstractNameQuery extendedEntityManagerRegistryName;
private static final String ANON_PU_NAME = "AnonymousPersistenceUnit";
+ private static final String RESOURCE_SOURCE_CLASS_NAME = ResourceSource.class.getName();
public PersistenceUnitBuilder(Environment defaultEnvironment,
String defaultPersistenceProviderClassName,
@@ -316,7 +318,7 @@
if (dataSourceString.indexOf('=') == -1) {
dataSourceString = "?name=" + dataSourceString;
}
- AbstractNameQuery dataSourceNameQuery = new AbstractNameQuery(new URI(dataSourceString + "#org.apache.geronimo.connector.outbound.ConnectionFactorySource"));
+ AbstractNameQuery dataSourceNameQuery = new AbstractNameQuery(new URI(dataSourceString + "#" + RESOURCE_SOURCE_CLASS_NAME));
return dataSourceNameQuery;
}
Modified: geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10/src/main/java/org/apache/geronimo/persistence/PersistenceUnitGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10/src/main/java/org/apache/geronimo/persistence/PersistenceUnitGBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10/src/main/java/org/apache/geronimo/persistence/PersistenceUnitGBean.java (original)
+++ geronimo/server/trunk/plugins/openjpa/geronimo-persistence-jpa10/src/main/java/org/apache/geronimo/persistence/PersistenceUnitGBean.java Tue Jan 1 15:07:17 2008
@@ -35,14 +35,14 @@
import javax.persistence.spi.PersistenceProvider;
import javax.persistence.spi.PersistenceUnitInfo;
import javax.persistence.spi.PersistenceUnitTransactionType;
-import javax.sql.DataSource;
import javax.resource.ResourceException;
+import javax.sql.DataSource;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
import org.apache.geronimo.gbean.GBeanLifecycle;
import org.apache.geronimo.gbean.SingleElementCollection;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.classloader.TemporaryClassLoader;
import org.apache.geronimo.transaction.manager.TransactionManagerImpl;
@@ -70,8 +70,8 @@
public PersistenceUnitGBean(String persistenceUnitName,
String persistenceProviderClassName,
String persistenceUnitTransactionTypeString,
- ConnectionFactorySource jtaDataSourceWrapper,
- ConnectionFactorySource nonJtaDataSourceWrapper,
+ ResourceSource<ResourceException> jtaDataSourceWrapper,
+ ResourceSource<ResourceException> nonJtaDataSourceWrapper,
List<String> mappingFileNamesUntyped,
List<String> jarFileUrlsUntyped,
String persistenceUnitRoot,
@@ -339,8 +339,8 @@
infoBuilder.addAttribute("configurationBaseUrl", URL.class, true);
infoBuilder.addReference("TransactionManager", TransactionManagerImpl.class, NameFactory.JTA_RESOURCE);
- infoBuilder.addReference("JtaDataSourceWrapper", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
- infoBuilder.addReference("NonJtaDataSourceWrapper", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoBuilder.addReference("JtaDataSourceWrapper", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoBuilder.addReference("NonJtaDataSourceWrapper", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
infoBuilder.addReference("EntityManagerRegistry", ExtendedEntityManagerRegistry.class, NameFactory.GERONIMO_SERVICE);
infoBuilder.setConstructor(new String[] {
Modified: geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledNonTransactionalTimer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledNonTransactionalTimer.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledNonTransactionalTimer.java (original)
+++ geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledNonTransactionalTimer.java Tue Jan 1 15:07:17 2008
@@ -18,15 +18,15 @@
package org.apache.geronimo.timer.jdbc;
import java.sql.SQLException;
+import java.util.concurrent.Executor;
+
+import javax.resource.ResourceException;
import javax.sql.DataSource;
import javax.transaction.TransactionManager;
-import javax.resource.ResourceException;
-
-import java.util.concurrent.Executor;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.timer.NontransactionalExecutorTaskFactory;
@@ -38,7 +38,7 @@
*/
public class JDBCStoreThreadPooledNonTransactionalTimer extends ThreadPooledTimer {
- public JDBCStoreThreadPooledNonTransactionalTimer(ConnectionFactorySource managedConnectionFactoryWrapper,
+ public JDBCStoreThreadPooledNonTransactionalTimer(ResourceSource<ResourceException> managedConnectionFactoryWrapper,
TransactionManager transactionManager,
Executor threadPool,
Kernel kernel) throws SQLException, ResourceException {
@@ -53,7 +53,7 @@
GBeanInfoBuilder infoFactory = GBeanInfoBuilder.createStatic(JDBCStoreThreadPooledNonTransactionalTimer.class);
infoFactory.addInterface(PersistentTimer.class);
- infoFactory.addReference("ManagedConnectionFactoryWrapper", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoFactory.addReference("ManagedConnectionFactoryWrapper", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
infoFactory.addReference("ThreadPool", Executor.class, NameFactory.GERONIMO_SERVICE);
infoFactory.addReference("TransactionManager", TransactionManager.class, NameFactory.JTA_RESOURCE);
Modified: geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledTransactionalTimer.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledTransactionalTimer.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledTransactionalTimer.java (original)
+++ geronimo/server/trunk/plugins/system-database/geronimo-timer/src/main/java/org/apache/geronimo/timer/jdbc/JDBCStoreThreadPooledTransactionalTimer.java Tue Jan 1 15:07:17 2008
@@ -18,15 +18,15 @@
package org.apache.geronimo.timer.jdbc;
import java.sql.SQLException;
+import java.util.concurrent.Executor;
+
+import javax.resource.ResourceException;
import javax.sql.DataSource;
import javax.transaction.TransactionManager;
-import javax.resource.ResourceException;
-
-import java.util.concurrent.Executor;
-import org.apache.geronimo.connector.outbound.ConnectionFactorySource;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
import org.apache.geronimo.kernel.Kernel;
import org.apache.geronimo.timer.PersistentTimer;
@@ -43,7 +43,7 @@
public JDBCStoreThreadPooledTransactionalTimer(int repeatCount,
TransactionManager transactionManager,
- ConnectionFactorySource managedConnectionFactoryWrapper,
+ ResourceSource<ResourceException> managedConnectionFactoryWrapper,
Executor threadPool,
Kernel kernel) throws SQLException, ResourceException {
super(new TransactionalExecutorTaskFactory(transactionManager, repeatCount),
@@ -59,7 +59,7 @@
infoFactory.addAttribute("repeatCount", int.class, true);
infoFactory.addReference("TransactionManager", TransactionManager.class, NameFactory.JTA_RESOURCE);
- infoFactory.addReference("ManagedConnectionFactoryWrapper", ConnectionFactorySource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
+ infoFactory.addReference("ManagedConnectionFactoryWrapper", ResourceSource.class, NameFactory.JCA_MANAGED_CONNECTION_FACTORY);
infoFactory.addReference("ThreadPool", Executor.class, NameFactory.GERONIMO_SERVICE);
infoFactory.addAttribute("kernel", Kernel.class, false);
Modified: geronimo/server/trunk/plugins/webservices/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/jaxr/JAXRGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/webservices/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/jaxr/JAXRGBean.java?rev=607943&r1=607942&r2=607943&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/webservices/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/jaxr/JAXRGBean.java (original)
+++ geronimo/server/trunk/plugins/webservices/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/jaxr/JAXRGBean.java Tue Jan 1 15:07:17 2008
@@ -16,21 +16,22 @@
*/
package org.apache.geronimo.webservices.jaxr;
+import javax.xml.registry.ConnectionFactory;
+import javax.xml.registry.JAXRException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.geronimo.gbean.GBeanInfo;
import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.naming.ResourceSource;
import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.logging.Log;
-
-import javax.xml.registry.ConnectionFactory;
-import javax.xml.registry.JAXRException;
/**
* Simple GBean to provide access to a JAXR ConnectionFactory
*
* @version $Rev$ $Date$
*/
-public class JAXRGBean {
+public class JAXRGBean implements ResourceSource {
private final Log log = LogFactory.getLog(JAXRGBean.class);
private final ClassLoader cl;