Hi Holger,
You find a bug in GenIC.
I'll fix it, and the correction will be available in the next
delivery of JOnAS.
Meanwhile, you can turn around this bug by renaming the remove
method as you already done.
Kind regards.
H�l�ne.
Holger Engels wrote:
>
> I tried to switched from jonas 2.0 to 2.1.1, but this introduces some
> troubles ...
>
> I have a SessionBean with the following Remote Interface:
>
> public interface Repository
> extends javax.ejb.EJBObject
> {
> LocalEntry getModule(String module) throws RemoteException;
> Collection getChildren(int id) throws RemoteException;
>
> // ...
>
> Patch update(LocalEntry entry) throws RemoteException;
> void commit(LocalEntry entry) throws RemoteException;
> Patch add(LocalEntry parent, LocalEntry child) throws RemoteException;
>
> void remove(LocalEntry entry) throws RemoteException;
> }
>
> The GenIC tool generates correct code for all methods in
> JOnASRepositoryRemote except remove(LocalEntry entry). For this signature,
> two methods are generated: the correct one and anotherone .. see below:
>
> public synchronized void remove(com.innovidata.cg.local.LocalEntry p1)
> throws java.rmi.RemoteException {
> Trace.outln(Trace.DB_15, "JOnASRepositoryRemote.remove(LocalEntry)");
> String methodSignature = "null" ;
> RequestCtx rctx = preinvoke(2, methodSignature) ;
> SessionContextImpl ctx = (SessionContextImpl)
> rctx.getEJBContext();
> com.innovidata.cg.ejb.RepositoryBean eb =
> (com.innovidata.cg.ejb.RepositoryBean)ctx.getInstance();
> try {
> eb.remove(p1);
> } catch (RuntimeException e) {
> rctx.setSysExc(e);
> throw new RemoteException("RuntimeException thrown by an" +
> " enterprise Bean", e);
> } catch (Error e) {
> rctx.setSysExc(e);
> throw new RemoteException("Error thrown by an enterprise "
> + "Bean", e);
> } finally {
> postinvoke(rctx);
> }
> }
>
> public void remove(com.innovidata.cg.local.LocalEntry p1) throws
> java.rmi.RemoteException {
> Trace.outln(Trace.DB_15,
> "JOnASRepositoryRemote.remove(LocalEntry)");
> String methodSignature = "null" ;
> RequestCtx rctx = preinvoke(2, methodSignature) ;
> SessionContextImpl ctx = (SessionContextImpl)
> rctx.getEJBContext();
> try {
> ctx.remove();
> } catch (RuntimeException e) {
> rctx.setSysExc(e);
> throw new RemoteException("RuntimeException thrown by an" +
> " enterprise Bean", e);
> } catch (Error e) {
> rctx.setSysExc(e);
> throw new RemoteException("Error thrown by an enterprise" +
> " Bean", e);
> } finally {
> postinvoke(rctx);
> }
> }
>
> If I rename the method for example to "remove2" everything's fine. Only
> one method is generated. As I browsed through the mailing list archive, I
> noticed some threads about similar problems, regarding ejbs, that where
> derived from other classes. My RepositoryBean is not derived from another
> bean. Its header looks simply like this:
>
> public class RepositoryBean implements javax.ejb.SessionBean
>
> If I got something wrong, please tell me. I unfortunately do not have the
> time, to track down a possible bug in GenIC at the moment.
>
> Thanks in advance,
>
> Holger
>
> _/ _/ _/_/_/_/ Holger Engels /
> _/ _/ _/ Joseph-Haydn-Weg 9 /
> _/ _/ _/ 89134 Blaustein-Herrlingen /
> _/_/_/_/ _/_/_/ -----------------------------
> _/ _/ _/ Phone: +49 7304 434714 /
> _/ _/ _/ Fax: 01805-66166645317 /
> _/ _/ _/_/_/_/ EMail: [EMAIL PROTECTED] /
>
> ----
> This list is cross-posted to two mail lists. To unsubscribe,
> follow the instructions below for the list you subscribed to.
> For objectweb.org: send email to [EMAIL PROTECTED] and
> include in the body of the message "unsubscribe ejb-container-group".
> For enhydra.org: send email to [EMAIL PROTECTED] and include
> in the body of the message "unsubscribe ejb-container-group".
--
-=- H�l�ne JOANIN -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
mailto:[EMAIL PROTECTED] http://www.evidian.com
Phone: 33.4.76.29.73.53 Fax: 33.4.76.29.76.00
Download our EJB Server JOnAS at http://www.objectweb.org
----
This list is cross-posted to two mail lists. To unsubscribe,
follow the instructions below for the list you subscribed to.
For objectweb.org: send email to [EMAIL PROTECTED] and
include in the body of the message "unsubscribe ejb-container-group".
For enhydra.org: send email to [EMAIL PROTECTED] and include
in the body of the message "unsubscribe ejb-container-group".