users@glassfish.java.net

Re: Session Bean Confusion

From: Pankaj Jairath <Pankaj.Jairath_at_Sun.COM>
Date: Fri, 11 Apr 2008 19:28:37 +0530

OK. Given that HelloServerRemote class is your EJB 2.x component
interface, try removing the @Remote annotation that you have provided.
It should suffice to state the inheritance from EJBObject.

Primarly, to have your EJB 2.x clients access to EJB 3.0 coded/adapted
bean, you need to annotate the POJO with @RemoteHome (your EJB 2.x class
for remote home).

Hope this helps.
Pankaj
Markus KARG wrote:
> I know that, but that is no help for me. The client's code wants to
> access an EJBHome to ejbCreate and home interface methods.
>
> Regards
> Markus
>
> Pankaj Jairath schrieb:
>> With EJB 3.0. one really does not need to define the remote
>> interface. Should try using the annotation on POJO to create a
>> session bean. Class level annotations - @Stateless and @Remote should
>> suffice to define a stateless bean with remote interface.
>>
>> If @Remote is not classified then by default a local interface is
>> rendered with all the public methods as its business methods. One can
>> limit the selection of such methods by annotating it with
>> @BusinessMethod
>> Example:
>>
>> import javax.ejb.*;
>> /**
>> * A stateless session bean requesting that a remote business
>> * interface be generated for it.
>> */
>> @Stateless
>> @Remote
>> public class HelloWorldBean {
>> public String sayHello() {
>> return "Hello World!!!";
>> }
>> }
>>
>>
>> regards
>> Pankaj
>>
>> Example
>> Markus KARG wrote:
>>> I am using the verifier to check wheter my application is complaint
>>> to EJB 3.0.
>>>
>>> In EJB 3.0 CORE spec, chapter 4.6.7 "Session Bean's Remote
>>> Interface", it says:
>>>
>>> "The interface must extend the javax.ejb.EJBObject interface."
>>>
>>> Ok, so I wrote this:
>>>
>>> @Remote
>>> public interface HelloServerRemote extends EJBObject {
>>>
>>> But the verifier now complains about doing so:
>>>
>>>
>>> 1 # of Warnings : 0 # of Errors : 0
>>> ----------------------------- RESULTS FOR EJB-RELATED TESTS
>>> ----------------------------- -------------- FAILED TESTS :
>>> -------------- Test Name : tests.ejb.ejb30.BusinessIntfInheritance
>>> Test Assertion : A business interface must not extend
>>> javax.ejb.EJBObject or javax.ejb.EJBLocalObject. Please refer to EJB
>>> 3.0 Simplified API Section #3.2 for further information. Test
>>> Description : For [ hello#helloserver.jar#HelloServer ] [
>>> example.server.HelloServerRemote ] extends either
>>> javax.ejb.EJBObject or javax.ejb.EJBLocalObject.
>>> ---------------------------------- END OF STATIC VERIFICATION
>>> RESULTS ----------------------------------
>>>
>>>
>>>
>>> I am totally confused...?!
>>>
>>> What is my fault?
>>>
>>> Thanks
>>> Markus
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>