Someone brought up this point on the doc mailing list. In current CMP
documentation there is the following statement:

<docbook>
Note also that JBoss requires that these methods are declared as
`abstract' when using CMP. It does not matter for session Beans,
and some EJB server aren't fussy (e.g., Sun J2EE), but with CMP
in JBoss you need to say `abstract'. Failure to do so will
result in the following error message during deployment:

[Container factory] org.jboss.ejb.DeploymentException: Could not
find matching method for public abstract java.lang.String somepackage.getSomeField()
throws java.rmi.RemoteException,
Cause:java.lang.NoSuchMethodException: getSomeField()
</docbook>

which applies to this interface:
public interface CD extends EJBObject 
{
 public abstract String getTitle() throws RemoteException;
 public abstract void setTitle(String title) throws RemoteException;
 ...
}

The abstract qualifier is superfluous in the context of an interface method as it
is implied. Unless cmp was parsing source code at some point there is no way
to distiguish the above interface from:

public interface CD extends EJBObject 
{
 public String getTitle() throws RemoteException;
 public void setTitle(String title) throws RemoteException;
 ...
}

using reflection, so how could there be, or ever have been a requirement for
using the abstract qualifier?



_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to