JBoss ignores Xdoclet taged finder functions in Home interfa
christianrudiger Jun 30, 2004 7:36 AMI am generating a finder method via XDoclet, and inhert it into two other classes.
The ejb-jar.xml is generated correctly, but when i tra to deploy my package i am getting an
EJB spec violation warning. The XDoclet-Tags and the Warnings as well as a part of ejb-jar.xml are appended.
Can anyone help me with this? I am nearly gettin' mad about this.
regards Christian
/**
* @ejb.bean name="DeviceRecord" type="CMP" description="abstract db-representation
* of a network device" primkey-field="id" view-type="local" cmp-version="2.x"
* schema="DeviceRecord" local-jndi-name="DeviceRecordLocal"
*
* @ejb.persistence table-name="core_devices"
*
* @ejb.finder
* signature="java.util.Collection findAllDevices( )"
* query="SELECT * Object(p) FROM DeviceRecord AS p"
* view-type="local"
* method-intf="LocalHome"
* result-type-mapping="Local"
*
* @jboss.entity-command name="get-generated-keys"
*
*/
public abstract class DeviceBean implements EntityBean {
...
/**
*
* @ejb.bean name="FTPDeviceRecord" type="CMP" description="db-representation
* of a network device" primkey-field="id" view-type="local" cmp-version="2.x"
* schema="FTPDeviceRecord" local-jndi-name="FTPDeviceRecordLocal"
*
* @ejb.home local-extends="javax.ejb.EJBLocalHome"
*
* @ejb.interface local-extends="vmdb.db.interfaces.DeviceRecordLocal"
*
* @ejb.persistence table-name="ftp_devices"
*
* @jboss.entity-command name="get-generated-keys"
*/
public abstract class FTPDeviceBean extends DeviceBean {
...
/**
*
* @ejb.bean name="FTAMDeviceRecord" type="CMP" description="db-representation
* of a network FTAM device" primkey-field="id" view-type="local" cmp-version="2.x"
* schema="FTAMDeviceRecord" local-jndi-name="FTAMDeviceRecordLocal"
*
* @ejb.persistence table-name="ftam_devices"
*
* @ejb.home local-extends="javax.ejb.EJBLocalHome"
*
* @ejb.interface local-extends="vmdb.db.interfaces.DeviceRecordLocal"
*
* @jboss.entity-command name="get-generated-keys"
*
*/
public abstract class FTAMDeviceBean extends DeviceBean {
...
Bean : FTAMDeviceRecord
Method : public abstract Collection findAllFTAMDevices() throws FinderException
Section: 10.5.6
Warning: Every finder method except findByPrimaryKey(key) must be associated with a query element in the deployment descriptor.
11:35:29,390 WARN [verifier] EJB spec violation:
Bean : FTPDeviceRecord
Method : public abstract Collection findAllFTPDevices() throws FinderException
Section: 10.5.6
Warning: Every finder method except findByPrimaryKey(key) must be associated with a query element in the deployment descriptor.
11:35:29,437 WARN [verifier] EJB spec violation:
Bean : DeviceRecord
Method : public abstract Collection findAllDevices() throws FinderException
Section: 10.5.6
Warning: Every finder method except findByPrimaryKey(key) must be associated with a query element in the deployment descriptor.
<ejb-jar >
<![CDATA[No Description.]]>
<display-name>Generated by XDoclet</display-name>
<enterprise-beans>
<![CDATA[db-representation of a network FTAM device]]>
<ejb-name>FTAMDeviceRecord</ejb-name>
...
<query-method>
<method-name>findAllDevices</method-name>
<method-params>
<method-param></method-param>
</method-params>
</query-method>
<result-type-mapping>Local</result-type-mapping>
<ejb-ql><![CDATA[SELECT * Object(p) FROM DeviceRecord AS p]]></ejb-ql>
<![CDATA[db-representation of a network device]]>
<ejb-name>FTPDeviceRecord</ejb-name>
...
<query-method>
<method-name>findAllDevices</method-name>
<method-params>
<method-param></method-param>
</method-params>
</query-method>
<result-type-mapping>Local</result-type-mapping>
<ejb-ql><![CDATA[SELECT * Object(p) FROM DeviceRecord AS p]]></ejb-ql>
<![CDATA[abstract db-representation of a network device]]>
<ejb-name>DeviceRecord</ejb-name>
...
<query-method>
<method-name>findAllDevices</method-name>
<method-params>
<method-param></method-param>
</method-params>
</query-method>
<result-type-mapping>Local</result-type-mapping>
<ejb-ql><![CDATA[SELECT * Object(p) FROM DeviceRecord AS p]]></ejb-ql>