Hi all. I'm a newbie trying to get JBoss to persist data into a MySql db, using an EJB3. You folks were kind enough to help me get JBoss set up to use MySql, which now seems set. I see new tables, like JMS_MESSAGES, in my MySql db. If it matters, I'm using the JBoss 4.2 Eclipse plugin.
Next, though, my EJB is failing to register when JBoss starts up. I'm getting an "Illegal @PersistenceUnit" message. I should say I'm also a newbie at EJB. Below is the JBoss log. Below that is my EJB3. I'd really appreciate any help you folks could give me (again...). Thanks! 15:55:59,029 INFO [Server] Starting JBoss (MX MicroKernel)... 15:55:59,030 INFO [Server] Release ID: JBoss [Trinity] 4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139) 15:55:59,031 INFO [Server] Home Dir: C:\jboss-4.2.2.GA 15:55:59,031 INFO [Server] Home URL: file:/C:/jboss-4.2.2.GA/ 15:55:59,033 INFO [Server] Patch URL: null 15:55:59,033 INFO [Server] Server Name: default 15:55:59,034 INFO [Server] Server Home Dir: C:\jboss-4.2.2.GA\server\default 15:55:59,034 INFO [Server] Server Home URL: file:/C:/jboss-4.2.2.GA/server/default/ 15:55:59,034 INFO [Server] Server Log Dir: C:\jboss-4.2.2.GA\server\default\log 15:55:59,034 INFO [Server] Server Temp Dir: C:\jboss-4.2.2.GA\server\default\tmp 15:55:59,034 INFO [Server] Root Deployment Filename: jboss-service.xml 15:55:59,354 INFO [ServerInfo] Java version: 1.6.0-oem,Sun Microsystems Inc. 15:55:59,354 INFO [ServerInfo] Java VM: Java HotSpot(TM) Client VM 1.6.0-oem-b104,Sun Microsystems Inc. 15:55:59,354 INFO [ServerInfo] OS-System: Windows XP 5.1,x86 15:55:59,586 INFO [Server] Core system initialized 15:56:01,118 INFO [WebService] Using RMI server codebase: http://127.0.0.1:8083/ 15:56:01,120 INFO [Log4jService$URLWatchTimerTask] Configuring from URL: resource:jboss-log4j.xml 15:56:01,423 INFO [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc. 15:56:01,423 INFO [TransactionManagerService] Setting up property manager MBean and JMX layer 15:56:01,546 INFO [TransactionManagerService] Starting recovery manager 15:56:01,659 INFO [TransactionManagerService] Recovery manager started 15:56:01,659 INFO [TransactionManagerService] Binding TransactionManager JNDI Reference 15:56:03,448 INFO [EJB3Deployer] Starting java:comp multiplexer 15:56:03,650 INFO [STDOUT] no object for null 15:56:03,652 INFO [STDOUT] no object for null 15:56:03,663 INFO [STDOUT] no object for null 15:56:03,674 INFO [STDOUT] no object for {urn:jboss:bean-deployer}supplyType 15:56:03,680 INFO [STDOUT] no object for {urn:jboss:bean-deployer}dependsType 15:56:05,686 INFO [NativeServerConfig] JBoss Web Services - Native 15:56:05,686 INFO [NativeServerConfig] jbossws-native-2.0.1.SP2 (build=200710210837) 15:56:06,365 INFO [Embedded] Catalina naming disabled 15:56:06,482 INFO [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;c:\Program Files\Java\jre1.6.0\bin\client;c:\Program Files\Java\jre1.6.0\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\Common Files\Adobe\AGL 15:56:06,521 INFO [Http11Protocol] Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080 15:56:06,522 INFO [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009 15:56:06,522 INFO [Catalina] Initialization processed in 157 ms 15:56:06,522 INFO [StandardService] Starting service jboss.web 15:56:06,524 INFO [StandardEngine] Starting Servlet Engine: JBossWeb/2.0.1.GA 15:56:06,556 INFO [Catalina] Server startup in 33 ms 15:56:06,631 INFO [TomcatDeployer] deploy, ctxPath=/, warUrl=.../deploy/jboss-web.deployer/ROOT.war/ 15:56:07,156 INFO [TomcatDeployer] deploy, ctxPath=/invoker, warUrl=.../deploy/http-invoker.sar/invoker.war/ 15:56:07,251 INFO [TomcatDeployer] deploy, ctxPath=/jbossws, warUrl=.../deploy/jbossws.sar/jbossws-context.war/ 15:56:07,329 INFO [TomcatDeployer] deploy, ctxPath=/jbossmq-httpil, warUrl=.../deploy/jms/jbossmq-httpil.sar/jbossmq-httpil.war/ 15:56:07,813 INFO [TomcatDeployer] deploy, ctxPath=/web-console, warUrl=.../deploy/management/console-mgr.sar/web-console.war/ 15:56:08,146 INFO [MailService] Mail Service bound to java:/Mail 15:56:08,272 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-local-jdbc.rar 15:56:08,298 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-ha-xa-jdbc.rar 15:56:08,320 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-local-jdbc.rar 15:56:08,346 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jboss-xa-jdbc.rar 15:56:08,383 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/jms/jms-ra.rar 15:56:08,410 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/mail-ra.rar 15:56:08,441 INFO [RARDeployment] Required license terms exist, view META-INF/ra.xml in .../deploy/quartz-ra.rar 15:56:08,449 INFO [QuartzResourceAdapter] start quartz!!! 15:56:08,499 INFO [SimpleThreadPool] Job execution threads will use class loader of thread: main 15:56:08,517 INFO [QuartzScheduler] Quartz Scheduler v.1.5.2 created. 15:56:08,520 INFO [RAMJobStore] RAMJobStore initialized. 15:56:08,520 INFO [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties' 15:56:08,520 INFO [StdSchedulerFactory] Quartz scheduler version: 1.5.2 15:56:08,520 INFO [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started. 15:56:08,698 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA' 15:56:08,772 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS' 15:56:09,403 INFO [A] Bound to JNDI name: queue/A 15:56:09,405 INFO [B] Bound to JNDI name: queue/B 15:56:09,406 INFO [C] Bound to JNDI name: queue/C 15:56:09,407 INFO [D] Bound to JNDI name: queue/D 15:56:09,409 INFO [ex] Bound to JNDI name: queue/ex 15:56:09,424 INFO [testTopic] Bound to JNDI name: topic/testTopic 15:56:09,425 INFO [securedTopic] Bound to JNDI name: topic/securedTopic 15:56:09,427 INFO [testDurableTopic] Bound to JNDI name: topic/testDurableTopic 15:56:09,429 INFO [testQueue] Bound to JNDI name: queue/testQueue 15:56:09,451 INFO [UILServerILService] JBossMQ UIL service available at : /127.0.0.1:8093 15:56:09,477 INFO [DLQ] Bound to JNDI name: queue/DLQ 15:56:09,638 WARN [ServiceController] Ignoring request to stop nonexistent service: jboss.j2ee:jar=CMPStockListApp.jar,name=StockListBean,service=EJB3 15:56:09,638 WARN [ServiceController] Ignoring request to destroy nonexistent service: jboss.j2ee:jar=CMPStockListApp.jar,name=StockListBean,service=EJB3 15:56:09,638 WARN [JmxKernelAbstraction] jboss.j2ee:jar=CMPStockListApp.jar,name=StockListBean,service=EJB3 is not registered 15:56:09,639 WARN [ServiceController] Problem starting service jboss.j2ee:service=EJB3,module=CMPStockListApp.jar java.lang.RuntimeException: Illegal @PersistenceUnit on private javax.persistence.EntityManager beans.StockListBean._manager :There is no default persistence unit in this deployment. at org.jboss.injection.PersistenceContextHandler.handleFieldAnnotations(PersistenceContextHandler.java:182) at org.jboss.injection.InjectionUtil.processFieldAnnotations(InjectionUtil.java:137) at org.jboss.injection.InjectionUtil.processAnnotations(InjectionUtil.java:174) at org.jboss.ejb3.EJBContainer.processMetadata(EJBContainer.java:358) at org.jboss.ejb3.SessionContainer.processMetadata(SessionContainer.java:140) at org.jboss.ejb3.Ejb3Deployment.processEJBContainerMetadata(Ejb3Deployment.java:292) at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:356) at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:417) at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy33.start(Unknown Source) at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) at org.jboss.mx.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:97) at org.jboss.system.InterceptorServiceMBeanSupport.invokeNext(InterceptorServiceMBeanSupport.java:238) at org.jboss.wsf.container.jboss42.DeployerInterceptor.start(DeployerInterceptor.java:87) at org.jboss.deployment.SubDeployerInterceptorSupport$XMBeanInterceptor.start(SubDeployerInterceptorSupport.java:188) at org.jboss.deployment.SubDeployerInterceptor.invoke(SubDeployerInterceptor.java:95) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy34.start(Unknown Source) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy9.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263) at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:336) at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) at $Proxy0.start(Unknown Source) at org.jboss.system.ServiceController.start(ServiceController.java:417) at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy4.start(Unknown Source) at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302) at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) at $Proxy5.deploy(Unknown Source) at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362) at org.jboss.Main.boot(Main.java:200) at org.jboss.Main$1.run(Main.java:508) at java.lang.Thread.run(Unknown Source) 15:56:09,640 INFO [EJB3Deployer] Deployed: file:/C:/jboss-4.2.2.GA/server/default/deploy/CMPStockListApp.jar/ 15:56:09,846 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer 15:56:09,852 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=EJB_1.jar,name=CalculatorBean,service=EJB3 with dependencies: 15:56:09,969 INFO [EJBContainer] STARTED EJB: org.jboss.tutorial.stateless.bean.CalculatorBean ejbName: CalculatorBean 15:56:10,017 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer 15:56:10,017 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=EJB_1.jar,name=MyFirstBean,service=EJB3 with dependencies: 15:56:10,024 INFO [EJBContainer] STARTED EJB: org.jboss.tutorial.stateless.bean.MyFirstBean ejbName: MyFirstBean 15:56:10,030 INFO [EJB3Deployer] Deployed: file:/C:/jboss-4.2.2.GA/server/default/deploy/EJB_1.jar/ 15:56:10,040 INFO [TomcatDeployer] deploy, ctxPath=/FirstWebProject, warUrl=.../deploy/FirstWebProject.war/ 15:56:10,114 INFO [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/ 15:56:10,194 ERROR [URLDeploymentScanner] Incomplete Deployment listing: --- MBeans waiting for other MBeans --- ObjectName: jboss.j2ee:service=EJB3,module=CMPStockListApp.jar State: FAILED Reason: java.lang.RuntimeException: Illegal @PersistenceUnit on private javax.persistence.EntityManager beans.StockListBean._manager :There is no default persistence unit in this deployment. --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM --- ObjectName: jboss.j2ee:service=EJB3,module=CMPStockListApp.jar State: FAILED Reason: java.lang.RuntimeException: Illegal @PersistenceUnit on private javax.persistence.EntityManager beans.StockListBean._manager :There is no default persistence unit in this deployment. 15:56:10,246 INFO [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080 15:56:10,258 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009 15:56:10,274 INFO [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started in 11s:238ms AND THIS IS THE EJB: package beans; import beans.Stock; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Stateless public class StockListBean implements StockList { // the reference to the entity manager @PersistenceContext private EntityManager _manager; // the public business methods. these must be coded in the // interface also. public String getStock(String ticker) throws StockException { Stock stock = _manager.find(Stock.class, ticker); if (stock == null) { throw new StockException(); } return stock.getName(); } public void addStock(String ticker, String name) throws StockException { Stock stock = _manager.find(Stock.class, ticker); if (stock != null) { throw new StockException(); } _manager.persist(new Stock(ticker, name)); } public void updateStock(String ticker, String name) throws StockException{ Stock stock = _manager.find(Stock.class, ticker); if (stock == null) { throw new StockException(); } stock.setName(name); } public void deleteStock(String ticker) throws StockException { Stock stock = _manager.find(Stock.class, ticker); if (stock == null) { throw new StockException(); } _manager.remove(stock); } } View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4125791#4125791 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4125791 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
