Hello,
I am interested in using the embedded OpenEJB container for
testing
EJBs. I am having three key problems that I hope someone can help me
with:
1) When I try to run a client that uses the embedded container, I get
the following exception/stack trace:
run-client:
[java] javax.naming.NamingException: Attempted to load OpenEJB.
null [Root exception is java.lang.ClassCastException]
[java] at
org.openejb.client.LocalInitialContextFactory.getInitialContext
(LocalIni
tialContextFactory.java:74)
[java] at
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:
662)
[java] at
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
[java] at
javax.naming.InitialContext.init(InitialContext.java:219)
[java] at
javax.naming.InitialContext.<init>(InitialContext.java:195)
[java] at examples.ch03.HelloClient.main(HelloClient.java:26)
[java] Caused by: java.lang.ClassCastException
[java] at
org.openejb.loader.OpenEJBInstance.init(OpenEJBInstance.java:78)
[java] at
org.openejb.client.LocalInitialContextFactory.init
(LocalInitialContextFa
ctory.java:86)
[java] at
org.openejb.client.LocalInitialContextFactory.getInitialContext
(LocalIni
tialContextFactory.java:72)
[java] ... 5 more
2) When I try to run the remote server and deploy my beans into it,
just
to see if I can get something working, I get a remote exception
from the
server dues to a ClassNotFoundException, indicating that it can't find
the Home interface class for my ejb. The server logs indicate that the
ejb jar deployed successfully, which I assumed would put my ejb jar on
the classloader. The ejb jar is in my build tree, not in the tree
of the
openejb install. Adding my jar to the CLASSPATH environment variable
before starting openejb did not help, not that I expected it would
given
the contents of the openejb shell script.
3) When I try to build openejb from the source package I got off the
site (trying to step in diagnose the classcast exception), the maven
builds with the following errors:
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Starting the reactor...
Our processing order:
OpenEJB :: Core
OpenEJB :: Loader
Examples :: Movie Fun Application
OpenEJB :: Integration Tests
OpenEJB :: WebAdmin
+----------------------------------------
| Executing (default): OpenEJB :: Core
| Memory: 4M/6M
+----------------------------------------
build:start:
default:
modules:default:
modules:reactor:init:
build:start:
default:
java:prepare-filesystem:
java:compile:
[depend] Deleted 0 out of date files in 0 seconds
[echo] Compiling to
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/
target/c
lasses
[javac] Compiling 407 source files to
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/
target/c
lasses
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/AssemblerTool.java:163: cannot
resolve symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.assembler.classic.AssemblerTool
public ConnectionManager
assembleConnectionManager(ConnectionManagerInfo cmInfo)
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/core/DeploymentInfo.java:72: cannot resolve symbol
symbol : class StatelessBeanManagedTxPolicy
location: package stateless
import org.openejb.core.stateless.StatelessBeanManagedTxPolicy;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/AssemblerTool.java:341: cannot
resolve symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.assembler.classic.AssemblerTool
public void applyTransactionAttributes(DeploymentInfo
deploymentInfo, MethodTransactionInfo[] mtis) {
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/ContainerSystemInfo.java:59: cannot
resolve symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.assembler.classic.ContainerSystemInfo
public MethodTransactionInfo[] methodTransactions;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/FacilitiesInfo.java:91: cannot
resolve symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.assembler.classic.FacilitiesInfo
public ConnectionManagerInfo [] connectionManagers;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncInfo.java:91: cannot resolve
symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncInfo
public EjbLocalReferenceInfo[] ejbLocalReferences;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncInfo.java:92: cannot resolve
symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncInfo
public ResourceReferenceInfo [] resourceRefs;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:72: cannot
resolve symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
private final EjbLocalReferenceInfo[] ejbLocalReferences;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:74: cannot
resolve symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
private final ResourceReferenceInfo[] resourceRefs;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/resource/jdbc/JdbcManagedConnection.java:64: cannot
resolve
symbol
symbol : class JdbcManagedConnectionMetaData
location: class org.openejb.resource.jdbc.JdbcManagedConnection
private final JdbcManagedConnectionMetaData metaData;
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/AssemblerTool.java:347: cannot
resolve symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.assembler.classic.AssemblerTool
MethodTransactionInfo transInfo = mtis[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/Assembler.java:280: cannot resolve
symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.assembler.classic.Assembler
ConnectionManagerInfo cmInfo =
configInfo.facilities.connectionManagers[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/core/DeploymentInfo.java:258: cannot resolve symbol
symbol : class StatelessBeanManagedTxPolicy
location: class org.openejb.core.DeploymentInfo
policy = new
StatelessBeanManagedTxPolicy((TransactionContainer) container );
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/ContainerBuilder.java:107: cannot
resolve symbol
symbol : class EnterpriseBeanBuilder
location: class org.openejb.alt.assembler.classic.ContainerBuilder
EnterpriseBeanBuilder deploymentBuilder = new
EnterpriseBeanBuilder(classLoader, ejbInfo);
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/ContainerBuilder.java:107: cannot
resolve symbol
symbol : class EnterpriseBeanBuilder
location: class org.openejb.alt.assembler.classic.ContainerBuilder
EnterpriseBeanBuilder deploymentBuilder = new
EnterpriseBeanBuilder(classLoader, ejbInfo);
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:97: cannot
resolve symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
ejbLocalReferences = (jndiEnc != null &&
jndiEnc.ejbLocalReferences != null) ? jndiEnc.ejbLocalReferences : new
EjbLocalReferenceInfo[]{};
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:99: cannot
resolve symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
resourceRefs = (jndiEnc != null && jndiEnc.resourceRefs !=
null)
? jndiEnc.resourceRefs : new ResourceReferenceInfo[]{};
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:127: cannot
resolve symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
EjbLocalReferenceInfo referenceInfo = ejbLocalReferences
[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/JndiEncBuilder.java:171: cannot
resolve symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.assembler.classic.JndiEncBuilder
ResourceReferenceInfo referenceInfo = resourceRefs[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/ContainerSystem.java:147:
cannot
resolve symbol
symbol : class MethodTransaction
location: class org.openejb.alt.assembler.classic.xml.ContainerSystem
dos = DomTools.collectChildElementsByType(node,
MethodTransaction.class, METHOD_TRANSACTION);
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/ContainerSystem.java:148:
cannot
resolve symbol
symbol : class MethodTransaction
location: class org.openejb.alt.assembler.classic.xml.ContainerSystem
methodTransactions = new MethodTransaction[dos.length];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/ContainerSystem.java:149:
cannot
resolve symbol
symbol : class MethodTransaction
location: class org.openejb.alt.assembler.classic.xml.ContainerSystem
for (int i=0; i < dos.length; i++) methodTransactions[i] =
(MethodTransaction)dos[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/Facilities.java:148: cannot
resolve symbol
symbol : class ConnectionManager
location: class org.openejb.alt.assembler.classic.xml.Facilities
DomObject[] dos =
DomTools.collectChildElementsByType(connectorsElement,
ConnectionManager.class, CONNECTION_MANAGER);
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/Facilities.java:149: cannot
resolve symbol
symbol : class ConnectionManager
location: class org.openejb.alt.assembler.classic.xml.Facilities
connectionManagers = new ConnectionManager[dos.length];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/Facilities.java:150: cannot
resolve symbol
symbol : class ConnectionManager
location: class org.openejb.alt.assembler.classic.xml.Facilities
for (int i=0; i < dos.length; i++) connectionManagers[i] =
(ConnectionManager)dos[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/JndiEnc.java:93: cannot resolve
symbol
symbol : class ResourceReference
location: class org.openejb.alt.assembler.classic.xml.JndiEnc
dos = DomTools.collectChildElementsByType(node,
ResourceReference.class, RESOURCE_REF);
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/JndiEnc.java:94: cannot resolve
symbol
symbol : class ResourceReference
location: class org.openejb.alt.assembler.classic.xml.JndiEnc
resourceRefs = new ResourceReference[dos.length];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/assembler/classic/xml/JndiEnc.java:95: cannot resolve
symbol
symbol : class ResourceReference
location: class org.openejb.alt.assembler.classic.xml.JndiEnc
for (int i=0; i < dos.length; i++) resourceRefs[i] =
(ResourceReference)dos[i];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:250: cannot resolve
symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.config.ConfigurationFactory
sys.containerSystem.methodTransactions = new
MethodTransactionInfo[mthdTranInfos.size()];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:433: cannot resolve
symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.config.ConfigurationFactory
ConnectionManagerInfo manager = new ConnectionManagerInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:433: cannot resolve
symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.config.ConfigurationFactory
ConnectionManagerInfo manager = new ConnectionManagerInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:455: cannot resolve
symbol
symbol : class ConnectionManagerInfo
location: class org.openejb.alt.config.ConfigurationFactory
facilities.connectionManagers = new
ConnectionManagerInfo[]{manager};
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:765: cannot resolve
symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
EjbLocalReferenceInfo info = new
EjbLocalReferenceInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:765: cannot resolve
symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
EjbLocalReferenceInfo info = new
EjbLocalReferenceInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:795: cannot resolve
symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
ResourceReferenceInfo info = new
ResourceReferenceInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:795: cannot resolve
symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
ResourceReferenceInfo info = new
ResourceReferenceInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:811: cannot resolve
symbol
symbol : class EjbLocalReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
jndi.ejbLocalReferences = new
EjbLocalReferenceInfo[ejbLocalRef.size()];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:812: cannot resolve
symbol
symbol : class ResourceReferenceInfo
location: class org.openejb.alt.config.ConfigurationFactory
jndi.resourceRefs = new
ResourceReferenceInfo[resRef.size()];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:832: cannot resolve
symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.config.ConfigurationFactory
MethodTransactionInfo[] mTxs = new
MethodTransactionInfo[cTx.length];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:832: cannot resolve
symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.config.ConfigurationFactory
MethodTransactionInfo[] mTxs = new
MethodTransactionInfo[cTx.length];
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/config/ConfigurationFactory.java:835: cannot resolve
symbol
symbol : class MethodTransactionInfo
location: class org.openejb.alt.config.ConfigurationFactory
mTxs[i] = new MethodTransactionInfo();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/containers/castor_cmp11/
CastorCMP11_EntityContainer.jav
a:343: cannot resolve symbol
symbol : class JndiTxReference
location: class
org.openejb.alt.containers.castor_cmp11.CastorCMP11_EntityContainer
JndiTxReference txReference = new JndiTxReference();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/alt/containers/castor_cmp11/
CastorCMP11_EntityContainer.jav
a:343: cannot resolve symbol
symbol : class JndiTxReference
location: class
org.openejb.alt.containers.castor_cmp11.CastorCMP11_EntityContainer
JndiTxReference txReference = new JndiTxReference();
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/resource/jdbc/JdbcManagedConnection.java:83: cannot
resolve
symbol
symbol : class JdbcManagedConnectionMetaData
location: class org.openejb.resource.jdbc.JdbcManagedConnection
metaData = new
JdbcManagedConnectionMetaData(sqlConn.getMetaData());
^
/opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/modules/core/src/
java
/org/openejb/resource/jdbc/JdbcManagedConnectionFactory.java:73:
cannot
resolve symbol
symbol : class BasicManagedConnectionFactory
location: class org.openejb.resource.jdbc.JdbcManagedConnectionFactory
factory = new BasicManagedConnectionFactory(this, driver, url,
defaultUserName, defaultPassword);
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -deprecation for details.
45 errors
BUILD FAILED
File...... /opt/dev/sguillor/JavaThirdParty/openejb/1.0-beta1/
maven.xml
Element... maven:reactor
Line...... 134
Column.... 27
Unable to obtain goal [default] --
/export/home/e71655/.maven/cache/maven-java-plugin-1.5/plugin.jelly:
63:4
8: <ant:javac> Compile failed; see the compiler error output for
details.
Total time: 18 seconds
Finished at: Tue Oct 04 12:18:35 CDT 2005
I'll keep chugging along but would appreciate any pointers on
either of
these three issues, particularly the ClassCastException I am
getting in
the Local Container or the build issues. If it matters, I am on
Solaris
8, Sun's 1.4.2_04 JDK, ant 1.6.2.
Thanks,
Stanford S. Guillory
Senior Engineer
Southwest Airlines Co.
[EMAIL PROTECTED]