JDev10g EJBJAR Deployment Error!!! Please help!!!
alexcheong Nov 29, 2004 11:47 AMHi,
I want to deploy the sample CMP EJBs on my JBoss server. But JBoss writes the following error occurs. Does anyone knows what cause this ?
00:33:10,562 INFO [EARDeployer] Init J2EE application: file:/C:/jboss-3.2.7RC1/ server/default/deploy/ModelCmEJBJAR.ear 00:33:12,125 WARN [verifier] EJB spec violation: Bean : Cmsequence Method : public String ejbCreate(String, Long, Long, Long, Long, Timestamp) Section: 10.6.4 Warning: The throws clause must define the javax.ejb.CreateException. 00:33:12,125 WARN [verifier] EJB spec violation: Bean : Cmsequence Method : public String ejbCreate(CmsequenceLocalDTO) Section: 10.6.4 Warning: The throws clause must define the javax.ejb.CreateException. 00:33:12,125 WARN [verifier] EJB spec violation: Bean : Cmsequence Method : public String ejbCreate() Section: 10.6.4 Warning: The throws clause must define the javax.ejb.CreateException. 00:33:12,125 ERROR [MainDeployer] could not create deployment: file:/C:/jboss-3. 2.7RC1/server/default/tmp/deploy/tmp45739ModelCmEJBJAR.ear-contents/ModelCmEJBJA R.jar org.jboss.deployment.DeploymentException: Verification of Enterprise Beans faile d, see above for error messages. at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:517) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:783) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:775) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604) at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher. java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54) at org.jboss.mx.server.Invocation.invoke(Invocation.java:82) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker. java:197) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy8.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen tScanner.java:304) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS canner.java:460) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. doScan(AbstractDeploymentScanner.java:201) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. loop(AbstractDeploymentScanner.java:212) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. run(AbstractDeploymentScanner.java:191) 00:33:12,125 ERROR [MainDeployer] could not create deployment: file:/C:/jboss-3. 2.7RC1/server/default/deploy/ModelCmEJBJAR.ear org.jboss.deployment.DeploymentException: Verification of Enterprise Beans faile d, see above for error messages. at org.jboss.ejb.EJBDeployer.create(EJBDeployer.java:517) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:783) at org.jboss.deployment.MainDeployer.create(MainDeployer.java:775) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:640) at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:604) at sun.reflect.GeneratedMethodAccessor16.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.jboss.mx.server.ReflectedDispatcher.dispatch(ReflectedDispatcher. java:60) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:62) at org.jboss.mx.server.Invocation.dispatch(Invocation.java:54) at org.jboss.mx.server.Invocation.invoke(Invocation.java:82) at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker. java:197) at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:473) at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:176) at $Proxy8.deploy(Unknown Source) at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymen tScanner.java:304) at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentS canner.java:460) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. doScan(AbstractDeploymentScanner.java:201) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. loop(AbstractDeploymentScanner.java:212) at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread. run(AbstractDeploymentScanner.java:191)
MY ejb-jar FILE:
<?xml version = '1.0' encoding = 'windows-1252'?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> <ejb-jar> <enterprise-beans> <session> <description>Session Bean ( Stateless )</description> <display-name>CmsequenceManager</display-name> <ejb-name>CmsequenceManager</ejb-name> <home>com.fsc.model.cm.sequence.ejb.CmsequenceManagerHome</home> <remote>com.fsc.model.cm.sequence.ejb.CmsequenceManager</remote> <local-home>com.fsc.model.cm.sequence.ejb.CmsequenceManagerLocalHome</local-home> <local>com.fsc.model.cm.sequence.ejb.CmsequenceManagerLocal</local> <ejb-class>com.fsc.model.cm.sequence.ejb.CmsequenceManagerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <ejb-local-ref> <ejb-ref-name>ejb/local/Cmsequence</ejb-ref-name> <ejb-ref-type>Entity</ejb-ref-type> <local-home>com.fsc.model.cm.sequence.ejb.CmsequenceLocalHome</local-home> <local>com.fsc.model.cm.sequence.ejb.CmsequenceLocal</local> <ejb-link>Cmsequence</ejb-link> </ejb-local-ref> </session> <session> <description>Session Bean ( Stateless )</description> <display-name>CmPatientBarManager</display-name> <ejb-name>CmPatientBarManager</ejb-name> <home>com.fsc.model.cm.patientbar.ejb.CmPatientBarManagerHome</home> <remote>com.fsc.model.cm.patientbar.ejb.CmPatientBarManager</remote> <local-home>com.fsc.model.cm.patientbar.ejb.CmPatientBarManagerLocalHome</local-home> <local>com.fsc.model.cm.patientbar.ejb.CmPatientBarManagerLocal</local> <ejb-class>com.fsc.model.cm.patientbar.ejb.CmPatientBarManagerBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> <entity> <description>Entity Bean ( CMP )</description> <display-name>Cmsequence</display-name> <ejb-name>Cmsequence</ejb-name> <home>com.fsc.model.cm.sequence.ejb.CmsequenceHome</home> <remote>com.fsc.model.cm.sequence.ejb.Cmsequence</remote> <local-home>com.fsc.model.cm.sequence.ejb.CmsequenceLocalHome</local-home> <local>com.fsc.model.cm.sequence.ejb.CmsequenceLocal</local> <ejb-class>com.fsc.model.cm.sequence.ejb.CmsequenceBean</ejb-class> <persistence-type>Container</persistence-type> <prim-key-class>java.lang.String</prim-key-class> <reentrant>False</reentrant> <cmp-version>2.x</cmp-version> <abstract-schema-name>Cmsequence</abstract-schema-name> <cmp-field> <field-name>sequenceId</field-name> </cmp-field> <cmp-field> <field-name>currentNo</field-name> </cmp-field> <cmp-field> <field-name>startNo</field-name> </cmp-field> <cmp-field> <field-name>endNo</field-name> </cmp-field> <cmp-field> <field-name>noFormat</field-name> </cmp-field> <cmp-field> <field-name>episodeId</field-name> </cmp-field> <cmp-field> <field-name>resetDateFormat</field-name> </cmp-field> <cmp-field> <field-name>resetAtDateValue</field-name> </cmp-field> <cmp-field> <field-name>dbFunctionName</field-name> </cmp-field> <cmp-field> <field-name>prevUpdatedBy</field-name> </cmp-field> <cmp-field> <field-name>prevUpdatedDatetime</field-name> </cmp-field> <cmp-field> <field-name>lastUpdatedBy</field-name> </cmp-field> <cmp-field> <field-name>lastUpdatedDatetime</field-name> </cmp-field> <primkey-field>sequenceId</primkey-field> <query> <query-method> <method-name>findAll</method-name> <method-params/> </query-method> <ejb-ql>select object(o) from Cmsequence o</ejb-ql> </query> </entity> </enterprise-beans> <assembly-descriptor> <container-transaction> <method> <ejb-name>Cmsequence</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Supports</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>CmsequenceManager</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> <container-transaction> <method> <ejb-name>CmPatientBarManager</ejb-name> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> </assembly-descriptor> </ejb-jar>
MY HOME INTERFACE:
package com.fsc.model.cm.sequence.ejb; import javax.ejb.EJBHome; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.FinderException; import java.util.Collection; import java.sql.Timestamp; public interface CmsequenceHome extends EJBHome { Cmsequence create() throws RemoteException, CreateException; Cmsequence findByPrimaryKey(String primaryKey) throws RemoteException, FinderException; Collection findAll() throws RemoteException, FinderException; Cmsequence create(String sequenceId, Long currentNo, Long startNo, Long endNo, Long lastUpdatedBy, Timestamp lastUpdatedDatetime) throws RemoteException, CreateException; }
MY BEAN CLASS:
package com.fsc.model.cm.sequence.ejb; import java.sql.SQLException; import javax.ejb.CreateException; import javax.ejb.EJBException; import javax.ejb.EntityBean; import javax.ejb.EntityContext; import java.sql.Timestamp; public abstract class CmsequenceBean implements EntityBean { private EntityContext context; public String ejbCreate() { return null; } public void ejbPostCreate() { } public String ejbCreate(CmsequenceLocalDTO cmsequenceLocalDTO) { setSequenceId(cmsequenceLocalDTO.getSequenceId()); setCurrentNo(cmsequenceLocalDTO.getCurrentNo()); setStartNo(cmsequenceLocalDTO.getStartNo()); setEndNo(cmsequenceLocalDTO.getEndNo()); setNoFormat(cmsequenceLocalDTO.getNoFormat()); setEpisodeId(cmsequenceLocalDTO.getEpisodeId()); setResetDateFormat(cmsequenceLocalDTO.getResetDateFormat()); setResetAtDateValue(cmsequenceLocalDTO.getResetAtDateValue()); setDbFunctionName(cmsequenceLocalDTO.getDbFunctionName()); setPrevUpdatedBy(cmsequenceLocalDTO.getPrevUpdatedBy()); setPrevUpdatedDatetime(cmsequenceLocalDTO.getPrevUpdatedDatetime()); setLastUpdatedBy(cmsequenceLocalDTO.getLastUpdatedBy()); setLastUpdatedDatetime(cmsequenceLocalDTO.getLastUpdatedDatetime()); return cmsequenceLocalDTO.getSequenceId(); } public void ejbPostCreate(CmsequenceLocalDTO cmsequenceLocalDTO) { } public String ejbCreate(String sequenceId, Long currentNo, Long startNo, Long endNo, Long lastUpdatedBy, Timestamp lastUpdatedDatetime) throws CreateException, EJBException, SQLException { setSequenceId(sequenceId); setCurrentNo(currentNo); setStartNo(startNo); setEndNo(endNo); setLastUpdatedBy(lastUpdatedBy); setLastUpdatedDatetime(lastUpdatedDatetime); return sequenceId; } public void ejbPostCreate(String sequenceId, Long currentNo, Long startNo, Long endNo, Long lastUpdatedBy, Timestamp lastUpdatedDatetime) throws CreateException, EJBException, SQLException { } public void ejbActivate() { } public void ejbLoad() { } public void ejbPassivate() { } public void ejbRemove() { } public void ejbStore() { } public void setEntityContext(EntityContext ctx) { this.context = ctx; } public void unsetEntityContext() { this.context = null; } public abstract String getSequenceId(); public abstract void setSequenceId(String newSequenceId); public abstract Long getCurrentNo(); public abstract void setCurrentNo(Long newCurrentNo); public abstract Long getStartNo(); public abstract void setStartNo(Long newStartNo); public abstract Long getEndNo(); public abstract void setEndNo(Long newEndNo); public abstract String getNoFormat(); public abstract void setNoFormat(String newNoFormat); public abstract String getEpisodeId(); public abstract void setEpisodeId(String newEpisodeId); public abstract String getResetDateFormat(); public abstract void setResetDateFormat(String newResetDateFormat); public abstract String getResetAtDateValue(); public abstract void setResetAtDateValue(String newResetAtDateValue); public abstract String getDbFunctionName(); public abstract void setDbFunctionName(String newDbFunctionName); public abstract Long getPrevUpdatedBy(); public abstract void setPrevUpdatedBy(Long newPrevUpdatedBy); public abstract Timestamp getPrevUpdatedDatetime(); public abstract void setPrevUpdatedDatetime(Timestamp newPrevUpdatedDatetime); public abstract Long getLastUpdatedBy(); public abstract void setLastUpdatedBy(Long newLastUpdatedBy); public abstract Timestamp getLastUpdatedDatetime(); public abstract void setLastUpdatedDatetime(Timestamp newLastUpdatedDatetime); }