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 2007/01/10 07:58:05 UTC
svn commit: r494744 - in
/incubator/openejb/trunk/openejb3/container/openejb-core/src:
main/java/org/apache/openejb/assembler/classic/
main/java/org/apache/openejb/resource/
main/java/org/apache/openejb/resource/jdbc/
main/resources/META-INF/org.apache...
Author: dblevins
Date: Tue Jan 9 22:58:04 2007
New Revision: 494744
URL: http://svn.apache.org/viewvc?view=rev&rev=494744
Log:
Construct transaction manager, security service, connection manager, and connectors via xbean-reflect
Modified:
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/SharedLocalConnectionManager.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/JdbcManagedConnectionFactory.java
incubator/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Tue Jan 9 22:58:04 2007
@@ -16,25 +16,6 @@
*/
package org.apache.openejb.assembler.classic;
-import java.io.File;
-import java.io.IOException;
-import java.lang.instrument.ClassFileTransformer;
-import java.lang.instrument.Instrumentation;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.persistence.EntityManagerFactory;
-import javax.resource.spi.ConnectionManager;
-import javax.resource.spi.ManagedConnectionFactory;
-import javax.transaction.TransactionManager;
-
import org.apache.openejb.Container;
import org.apache.openejb.DeploymentInfo;
import org.apache.openejb.EnvProps;
@@ -45,7 +26,6 @@
import org.apache.openejb.core.CoreDeploymentInfo;
import org.apache.openejb.core.TemporaryClassLoader;
import org.apache.openejb.core.TransactionManagerWrapper;
-import org.apache.openejb.core.CoreContainerSystem;
import org.apache.openejb.javaagent.Agent;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.persistence.GlobalJndiDataSourceResolver;
@@ -60,10 +40,30 @@
import org.apache.xbean.recipe.ObjectRecipe;
import org.apache.xbean.recipe.StaticRecipe;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.persistence.EntityManagerFactory;
+import javax.resource.spi.ConnectionManager;
+import javax.resource.spi.ManagedConnectionFactory;
+import javax.transaction.TransactionManager;
+import java.io.File;
+import java.io.IOException;
+import java.lang.instrument.ClassFileTransformer;
+import java.lang.instrument.Instrumentation;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
public class Assembler extends AssemblerTool implements org.apache.openejb.spi.Assembler {
public static final Logger logger = Logger.getInstance("OpenEJB.startup", Assembler.class.getPackage().getName());
+
private org.apache.openejb.core.CoreContainerSystem containerSystem;
private TransactionManager transactionManager;
private org.apache.openejb.spi.SecurityService securityService;
@@ -97,7 +97,6 @@
public void init(Properties props) throws OpenEJBException {
this.props = props;
-
/* Get Configuration ////////////////////////////*/
String className = props.getProperty(EnvProps.CONFIGURATION_FACTORY);
if (className == null) {
@@ -135,7 +134,7 @@
public static Map<String, Object> getContext() {
Map<String, Object> map = context.get();
- if (map == null){
+ if (map == null) {
map = new HashMap<String, Object>();
context.set(map);
}
@@ -220,28 +219,19 @@
createTransactionManager(configInfo.facilities.transactionService);
- createSecurityService(configInfo);
+ createSecurityService(configInfo.facilities.securityService);
/*[6] Assemble Connector(s) //////////////////////////////////////////*/
Map<String, ConnectionManager> connectionManagerMap = new HashMap<String, ConnectionManager>();
// connectors are optional in the openejb_config.dtd
for (ConnectionManagerInfo cmInfo : configInfo.facilities.connectionManagers) {
- ConnectionManager connectionManager = assembleConnectionManager(cmInfo);
+ ConnectionManager connectionManager = createConnectionManager(cmInfo);
connectionManagerMap.put(cmInfo.id, connectionManager);
}
// connectors are optional in the openejb_config.dtd
for (ConnectorInfo conInfo : configInfo.facilities.connectors) {
- ConnectionManager connectionManager = connectionManagerMap.get(conInfo.connectionManagerId);
- if (connectionManager == null) {
- throw new RuntimeException(INVALID_CONNECTION_MANAGER_ERROR + conInfo.connectorId);
- }
-
- ManagedConnectionFactory managedConnectionFactory = assembleManagedConnectionFactory(conInfo.managedConnectionFactory);
-
- ConnectorReference reference = new ConnectorReference(connectionManager, managedConnectionFactory);
-
- containerSystem.getJNDIContext().bind("java:openejb/connector/" + conInfo.connectorId, reference);
+ createConnector(connectionManagerMap, conInfo);
}
PersistenceClassLoaderHandler persistenceClassLoaderHandler = new PersistenceClassLoaderHandler() {
@@ -319,12 +309,12 @@
for (ClientInfo clientInfo : appInfo.clients) {
JndiEncBuilder jndiEncBuilder = new JndiEncBuilder(clientInfo.jndiEnc);
Context context = (Context) jndiEncBuilder.build().lookup("env");
- containerSystem.getJNDIContext().bind("java:openejb/client/"+clientInfo.moduleId+"/comp/env", context);
- if (clientInfo.codebase != null){
- containerSystem.getJNDIContext().bind("java:openejb/client/"+clientInfo.moduleId+"/comp/path", clientInfo.codebase);
+ containerSystem.getJNDIContext().bind("java:openejb/client/" + clientInfo.moduleId + "/comp/env", context);
+ if (clientInfo.codebase != null) {
+ containerSystem.getJNDIContext().bind("java:openejb/client/" + clientInfo.moduleId + "/comp/path", clientInfo.codebase);
}
if (clientInfo.mainClass != null) {
- containerSystem.getJNDIContext().bind("java:openejb/client/"+clientInfo.moduleId+"/comp/mainClass", clientInfo.mainClass);
+ containerSystem.getJNDIContext().bind("java:openejb/client/" + clientInfo.moduleId + "/comp/mainClass", clientInfo.mainClass);
}
ArrayList<Injection> injections = new ArrayList<Injection>();
JndiEncInfo jndiEnc = clientInfo.jndiEnc;
@@ -335,18 +325,18 @@
Injection injection = new Injection(info.referenceName, target.propertyName, targetClass);
injections.add(injection);
} catch (ClassNotFoundException e) {
- logger.error("Injection Target invalid: class="+target.className+", name="+target.propertyName+". Exception: "+e.getMessage(), e);
+ logger.error("Injection Target invalid: class=" + target.className + ", name=" + target.propertyName + ". Exception: " + e.getMessage(), e);
}
}
}
- containerSystem.getJNDIContext().bind("java:openejb/client/"+clientInfo.moduleId+"/comp/injections", injections);
+ containerSystem.getJNDIContext().bind("java:openejb/client/" + clientInfo.moduleId + "/comp/injections", injections);
}
}
JndiBuilder jndiBuilder = new JndiBuilder(containerSystem.getJNDIContext());
// Containers
- ContainersBuilder containersBuilder = new ContainersBuilder(containerSystemInfo, ((AssemblerTool)this).props);
+ ContainersBuilder containersBuilder = new ContainersBuilder(containerSystemInfo, ((AssemblerTool) this).props);
List containers = (List) containersBuilder.buildContainers(deployments2);
for (int i1 = 0; i1 < containers.size(); i1++) {
Container container1 = (Container) containers.get(i1);
@@ -365,63 +355,114 @@
containerSystem.getJNDIContext().bind("java:openejb/remote_jndi_contexts/" + contextInfo.id, cntx);
}
- return containerSystem;
+ return containerSystem;
}
- private URL toUrl(String jarPath) throws OpenEJBException {
- try {
- return new File(jarPath).toURL();
- } catch (MalformedURLException e) {
- throw new OpenEJBException(messages.format("cl0001", jarPath, e.getMessage()));
+ private void createConnector(Map<String, ConnectionManager> connectionManagerMap, ConnectorInfo conInfo) throws OpenEJBException, NamingException {
+ ManagedConnectionFactoryInfo serviceInfo = conInfo.managedConnectionFactory;
+
+ ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.constructorArgs.toArray(new String[0]), null);
+ serviceRecipe.setAllProperties(serviceInfo.properties);
+
+ Object service = serviceRecipe.create();
+
+ Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
+ checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+
+ ConnectionManager connectionManager = (ConnectionManager) props.get(conInfo.connectionManagerId);
+ if (connectionManager == null) {
+ throw new RuntimeException(INVALID_CONNECTION_MANAGER_ERROR + conInfo.connectorId);
}
- }
- private void createSecurityService(OpenEjbConfiguration configInfo) throws Exception {
- securityService = create(configInfo.facilities.securityService);
+ ManagedConnectionFactory managedConnectionFactory = (ManagedConnectionFactory) service;
- install(this.containerSystem, securityService);
+ ConnectorReference reference = new ConnectorReference(connectionManager, managedConnectionFactory);
- props.put(SecurityService.class.getName(), securityService);
+ containerSystem.getJNDIContext().bind("java:openejb/connector/" + conInfo.connectorId, reference);
}
- public static SecurityService install(CoreContainerSystem containerSystem, SecurityService securityService) throws NamingException {
- containerSystem.getJNDIContext().bind("java:openejb/SecurityService", securityService);
- SystemInstance.get().setComponent(SecurityService.class, securityService);
- return securityService;
- }
+ private ConnectionManager createConnectionManager(ConnectionManagerInfo serviceInfo) throws OpenEJBException, java.lang.reflect.InvocationTargetException, IllegalAccessException, NoSuchMethodException, NamingException {
+ ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.constructorArgs.toArray(new String[0]), null);
+ serviceRecipe.setAllProperties(serviceInfo.properties);
+
+ Object object = props.get("TransactionManager");
+ serviceRecipe.setProperty("transactionManager", new StaticRecipe(object));
+
+ Object service = serviceRecipe.create();
+
+ Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
+ checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
- public static SecurityService create(SecurityServiceInfo serviceInfo) throws OpenEJBException {
- ObjectRecipe securityServiceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.properties);
- Object service = securityServiceRecipe.create();
- checkImplementation(SECURITY_SERVICE, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+ this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType+"/"+serviceInfo.id, service);
- return (SecurityService) service;
+ SystemInstance.get().setComponent(interfce, service);
+
+ getContext().put(interfce.getName(), service);
+
+ props.put(interfce.getName(), service);
+ props.put(serviceInfo.serviceType, service);
+ props.put(serviceInfo.id, service);
+
+ return (ConnectionManager) service;
}
- private void createTransactionManager(TransactionServiceInfo transactionService) throws NamingException, OpenEJBException {
- TransactionManager unwrappedTransactionManager = create(transactionService);
- TransactionManager transactionManager = install(this.containerSystem, unwrappedTransactionManager);
+ private void createSecurityService(ServiceInfo serviceInfo) throws Exception {
+
+ ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.constructorArgs.toArray(new String[0]), null);
+ serviceRecipe.setAllProperties(serviceInfo.properties);
+
+ Object service = serviceRecipe.create();
- getContext().put(TransactionManager.class.getName(), transactionManager);
- props.put(TransactionManager.class.getName(), transactionManager);
- this.transactionManager = transactionManager;
+ Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
+ checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+
+ this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+
+ SystemInstance.get().setComponent(interfce, service);
+
+ getContext().put(interfce.getName(), service);
+
+ props.put(interfce.getName(), service);
+ props.put(serviceInfo.serviceType, service);
+ props.put(serviceInfo.id, service);
+
+ this.securityService = (SecurityService) service;
}
- public static TransactionManager install(CoreContainerSystem containerSystem, TransactionManager unwrappedTransactionManager) throws NamingException {
- ObjectRecipe txManagerWrapperRecipe = new ObjectRecipe(TransactionManagerWrapper.class, new String[]{"transactionManager"},new Class[]{TransactionManager.class});
+ private void createTransactionManager(TransactionServiceInfo serviceInfo) throws NamingException, OpenEJBException {
+ ObjectRecipe serviceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.constructorArgs.toArray(new String[0]), null);
+ serviceRecipe.setAllProperties(serviceInfo.properties);
+
+ Object service = serviceRecipe.create();
+
+ Class interfce = serviceInterfaces.get(serviceInfo.serviceType);
+ checkImplementation(interfce, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
+
+ TransactionManager unwrappedTransactionManager = (TransactionManager) service;
+ ObjectRecipe txManagerWrapperRecipe = new ObjectRecipe(TransactionManagerWrapper.class, new String[]{"transactionManager"}, new Class[]{TransactionManager.class});
txManagerWrapperRecipe.setProperty("transactionManager", new StaticRecipe(unwrappedTransactionManager));
- TransactionManager transactionManager = (TransactionManager) txManagerWrapperRecipe.create();
+ service = txManagerWrapperRecipe.create();
- SystemInstance.get().setComponent(TransactionManager.class, transactionManager);
- containerSystem.getJNDIContext().bind("java:openejb/TransactionManager", transactionManager);
- return transactionManager;
+ this.containerSystem.getJNDIContext().bind("java:openejb/" + serviceInfo.serviceType, service);
+
+ SystemInstance.get().setComponent(interfce, service);
+
+ getContext().put(interfce.getName(), service);
+
+ props.put(interfce.getName(), service);
+ props.put(serviceInfo.serviceType, service);
+ props.put(serviceInfo.id, service);
+
+ this.transactionManager = (TransactionManager) service;
}
- public static TransactionManager create(TransactionServiceInfo transactionService) throws OpenEJBException {
- TransactionServiceInfo serviceInfo = transactionService;
- ObjectRecipe txServiceRecipe = new ObjectRecipe(serviceInfo.className, serviceInfo.properties);
- Object service = txServiceRecipe.create();
- checkImplementation(TRANSACTION_MANAGER, service.getClass(), serviceInfo.serviceType, serviceInfo.id);
- return (TransactionManager) service;
+ private URL toUrl(String jarPath) throws OpenEJBException {
+ try {
+ return new File(jarPath).toURL();
+ } catch (MalformedURLException e) {
+ throw new OpenEJBException(messages.format("cl0001", jarPath, e.getMessage()));
+ }
}
+
+
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/AssemblerTool.java Tue Jan 9 22:58:04 2007
@@ -43,11 +43,23 @@
public static final Class TRANSACTION_MANAGER = TransactionManager.class;
public static final Class CONNECTION_MANAGER = javax.resource.spi.ConnectionManager.class;
public static final Class CONNECTOR = javax.resource.spi.ManagedConnectionFactory.class;
+ public static final Class CONTAINER = org.apache.openejb.Container.class;
+
+ public static final Map<String, Class> serviceInterfaces = new HashMap<String, Class>();
+ static {
+ serviceInterfaces.put("ProxyFactory", PROXY_FACTORY);
+ serviceInterfaces.put("SecurityService", SECURITY_SERVICE);
+ serviceInterfaces.put("TransactionManager", TRANSACTION_MANAGER);
+ serviceInterfaces.put("ConnectionManager", CONNECTION_MANAGER);
+ serviceInterfaces.put("Connector", CONNECTOR);
+ serviceInterfaces.put("Container", CONTAINER);
+ }
protected static final Messages messages = new Messages("org.apache.openejb.util.resources");
protected static final SafeToolkit toolkit = SafeToolkit.getToolkit("AssemblerTool");
protected Properties props;
+ protected Properties services;
static {
System.setProperty("noBanner", "true");
@@ -67,57 +79,6 @@
throw new org.apache.openejb.OpenEJBException("The remote JNDI EJB references for remote-jndi-contexts = " + context.id + "+ could not be resolved.", ne);
}
- }
-
- public ConnectionManager assembleConnectionManager(ConnectionManagerInfo cmInfo)
- throws OpenEJBException, java.lang.Exception {
- /*TODO: Add better exception handling, this method throws java.lang.Exception,
- which is not very specific. Only a very specific OpenEJBException should be
- thrown.
- */
- Class managerClass = SafeToolkit.loadClass(cmInfo.className, cmInfo.codebase);
-
- checkImplementation(CONNECTION_MANAGER, managerClass, "ConnectionManager", cmInfo.id);
-
- ConnectionManager connectionManager = (ConnectionManager) toolkit.newInstance(managerClass);
-
- if (cmInfo.properties != null) {
- Properties clonedProps = (Properties) (this.props.clone());
- clonedProps.putAll(cmInfo.properties);
- applyProperties(connectionManager, clonedProps);
- }
-
- return connectionManager;
- }
-
- public ManagedConnectionFactory assembleManagedConnectionFactory(ManagedConnectionFactoryInfo mngedConFactInfo)
- throws org.apache.openejb.OpenEJBException, java.lang.Exception {
-
- ManagedConnectionFactory managedConnectionFactory = null;
- try {
- Class factoryClass = SafeToolkit.loadClass(mngedConFactInfo.className, mngedConFactInfo.codebase);
- checkImplementation(CONNECTOR, factoryClass, "Connector", mngedConFactInfo.id);
-
- managedConnectionFactory = (ManagedConnectionFactory) toolkit.newInstance(factoryClass);
- } catch (Exception e) {
- throw new OpenEJBException("Could not instantiate Connector '" + mngedConFactInfo.id + "'.", e);
- }
-
- try {
-
- if (mngedConFactInfo.properties != null) {
- Properties clonedProps = (Properties) (this.props.clone());
- clonedProps.putAll(mngedConFactInfo.properties);
- applyProperties(managedConnectionFactory, clonedProps);
- }
- } catch (java.lang.reflect.InvocationTargetException ite) {
- throw new OpenEJBException("Could not initialize Connector '" + mngedConFactInfo.id + "'.", ite.getTargetException());
- } catch (Exception e) {
-
- throw new OpenEJBException("Could not initialize Connector '" + mngedConFactInfo.id + "'.", e);
- }
-
- return managedConnectionFactory;
}
public void applyProxyFactory(IntraVmServerInfo ivmInfo) throws OpenEJBException {
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/SharedLocalConnectionManager.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/SharedLocalConnectionManager.java?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/SharedLocalConnectionManager.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/SharedLocalConnectionManager.java Tue Jan 9 22:58:04 2007
@@ -52,6 +52,10 @@
private final Set<ManagedConnection> connSet = Collections.synchronizedSet(new HashSet<ManagedConnection>());
private TransactionManager transactionManager;
+ public SharedLocalConnectionManager(TransactionManager transactionManager) {
+ this.transactionManager = transactionManager;
+ }
+
public void init(Properties props) {
transactionManager = (TransactionManager) props.get(TransactionManager.class.getName());
}
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/JdbcManagedConnectionFactory.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/JdbcManagedConnectionFactory.java?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/JdbcManagedConnectionFactory.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/JdbcManagedConnectionFactory.java Tue Jan 9 22:58:04 2007
@@ -42,6 +42,16 @@
private String driver;
private boolean unmanaged;
+
+ public JdbcManagedConnectionFactory(String driver, String url, String defaultUserName, String defaultPassword, boolean unmanaged) throws ResourceAdapterInternalException {
+ this.defaultPassword = defaultPassword;
+ this.defaultUserName = defaultUserName;
+ this.driver = driver;
+ this.unmanaged = unmanaged;
+ this.url = url;
+ start();
+ }
+
public void init(java.util.Properties props) throws javax.resource.spi.ResourceAdapterInternalException {
defaultUserName = props.getProperty(EnvProps.USER_NAME);
defaultPassword = props.getProperty(EnvProps.PASSWORD);
@@ -50,6 +60,7 @@
unmanaged = props.getProperty("Unmanaged", "false").equalsIgnoreCase("true");
start();
}
+
public String getDefaultUserName() {
return defaultUserName;
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/main/resources/META-INF/org.apache.openejb/service-jar.xml Tue Jan 9 22:58:04 2007
@@ -251,6 +251,7 @@
<ServiceProvider
id="Default JDBC Database"
provider-type="Connector"
+ constructor="JdbcDriver,JdbcUrl,UserName,Password,Unmanaged"
class-name="org.apache.openejb.resource.jdbc.JdbcManagedConnectionFactory">
# Driver class name
@@ -271,7 +272,7 @@
# Default password
#Password pass
- Password
+ Password
Unmanaged false
</ServiceProvider>
@@ -284,6 +285,7 @@
<ServiceProvider
id="Default Local TX ConnectionManager"
provider-type="ConnectionManager"
+ constructor="transactionManager"
class-name="org.apache.openejb.resource.SharedLocalConnectionManager"/>
Modified: incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java
URL: http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java?view=diff&rev=494744&r1=494743&r2=494744
==============================================================================
--- incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java (original)
+++ incubator/openejb/trunk/openejb3/container/openejb-core/src/test/java/org/apache/openejb/core/cmp/jpa/JpaTest.java Tue Jan 9 22:58:04 2007
@@ -220,15 +220,9 @@
}
private DataSource createJtaDataSource(TransactionManager transactionManager) throws Exception {
- JdbcManagedConnectionFactory mcf = new JdbcManagedConnectionFactory();
- mcf.setDriver("org.hsqldb.jdbcDriver");
- mcf.setUrl("jdbc:hsqldb:mem:JpaTest");
- mcf.setDefaultUserName("sa");
- mcf.setDefaultPassword("");
- mcf.start();
+ JdbcManagedConnectionFactory mcf = new JdbcManagedConnectionFactory("org.hsqldb.jdbcDriver", "jdbc:hsqldb:mem:JpaTest", "sa", "", false);
- SharedLocalConnectionManager connectionManager = new SharedLocalConnectionManager();
- connectionManager.setTransactionManager(transactionManager);
+ SharedLocalConnectionManager connectionManager = new SharedLocalConnectionManager(transactionManager);
DataSource connectionFactory = (DataSource) mcf.createConnectionFactory(connectionManager);
return connectionFactory;