I have an EJB with a CMR. I keep getting errors about not being able to set
CMR fields in the ejbCreate() and must do it in the ejbPostCreate().
So I did that:

    public java.lang.String ejbCreate( AlertDto pAlertDto )
            throws javax.ejb.EJBException, javax.ejb.CreateException
    {
        setAlertId( pAlertDto.getAlertId() );
        setUserId( pAlertDto.getUserId() );
        //setAlertDto( pAlertDto );

        return null;
    }

    public void ejbPostCreate( AlertDto pAlertDto )
    {
        /*
        Update the EJB as the CMR information cannot be set at create time:
        java.lang.IllegalStateException: A CMR field cannot be set in
ejbCreate;
        this should be done in the ejbPostCreate method instead [EJB 2.0
Spec. 10.5.2].
        */
        setAlertDto( pAlertDto );
    }


But my issue is about the setUserId(). I do not want to create this EJB if
the userId does _not_ get set. If so, I will have orphan data with no way to
access it.

So, do I need to set certain transaction types for the ejbCreate() and
ejbPostCreate() to ensure that the entire create/postCreate completes or
rolls-back?

---
Thanks
Mick Knutson
http://www.baselogic.com

+001(805) 563-0666 Office
+001 (708) 570-2772 Fax
---


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to