You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by yumariso <yu...@fastmail.fm> on 2009/06/08 23:25:52 UTC
Problem setting up OpenEJB in Eclipse
Hi,
I am trying to set up an EJB 3 test project in Eclipse and I am hitting on a
problem I can't find any explanation elsewhere. I am an EJB newbie so I may
be missing something trivial...
I downloaded the latest OpenEJB 3.1.1 and added all of its libraries to a
User Library set. I made a new Java project that contains the following
three classes:
file: test.Simple
package test;
public interface Simple {
public int multiply(int a, int b);
}
file: test.SimpleBean
package test;
import javax.ejb.Stateless;
@Stateless
public class SimpleBean implements Simple {
public int multiply(int a, int b) {
return a*b;
}
}
file: SimpleTest
import static org.junit.Assert.*;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import org.junit.Test;
import test.Simple;
public class SimpleTest {
@Test
public void testSimple() {
Properties p = new Properties();
p.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.LocalInitialContextFactory");
InitialContext context;
try {
context = new InitialContext(p);
Simple simple = (Simple)context.lookup("SimpleBeanLocal");
assertEquals(simple.multiply(2,2), 4);
}
catch ( Exception e ) {
e.printStackTrace();
}
}
}
I have ejb-jar.xml in META-INF folder under the src folder with just
'<ejb-jar />' in it. When I run the test I get the following output:
Apache OpenEJB 3.1.1 build: 20090530-06:18
http://openejb.apache.org/
INFO - openejb.home = /home/yuri/projects/test.openejb
INFO - openejb.base = /home/yuri/projects/test.openejb
INFO - Configuring Service(id=Default Security Service,
type=SecurityService, provider-id=Default Security Service)
INFO - Configuring Service(id=Default Transaction Manager,
type=TransactionManager, provider-id=Default Transaction Manager)
INFO - Found EjbModule in classpath: /home/yuri/projects/test.openejb/bin
INFO - Beginning load: /home/yuri/projects/test.openejb/bin
INFO - Configuring enterprise application: classpath.ear
INFO - Configuring Service(id=Default Stateless Container, type=Container,
provider-id=Default Stateless Container)
INFO - Auto-creating a container for bean SimpleBean:
Container(type=STATELESS, id=Default Stateless Container)
INFO - Enterprise application "classpath.ear" loaded.
INFO - Assembling app: classpath.ear
INFO - Jndi(name=SimpleBeanLocal) --> Ejb(deployment-id=SimpleBean)
INFO - Created Ejb(deployment-id=SimpleBean, ejb-name=SimpleBean,
container=Default Stateless Container)
INFO - Deployed Application(path=classpath.ear)
java.lang.ClassCastException: $Proxy6 cannot be cast to test.Simple
at SimpleTest.testSimple(SimpleTest.java:27)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
--
View this message in context: http://www.nabble.com/Problem-setting-up-OpenEJB-in-Eclipse-tp23932458p23932458.html
Sent from the OpenEJB User mailing list archive at Nabble.com.
Re: Problem setting up OpenEJB in Eclipse
Posted by yumariso <yu...@fastmail.fm>.
The problem was that I set up the OpenEJB User Library as System Library. If
I uncheck it it works as expected.
--
View this message in context: http://www.nabble.com/Problem-setting-up-OpenEJB-in-Eclipse-tp23932458p23933032.html
Sent from the OpenEJB User mailing list archive at Nabble.com.