You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by David Salter <da...@me.com> on 2013/04/02 20:07:56 UTC

OPENEJB-1306 - EJB's cannot be declared final

Hi,

I'm working on a patch for OPENEJB-1306 which I've almost got complete.  I just wanted to verify that the issue is that EJB3 beans, i.e. those annotated with @Singleton, @Stateless or @Stateful cannot be declared as final.

Thanks,

Dave.


Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by Jean-Louis MONTEIRO <je...@gmail.com>.
Hey guys,

did someone already committed David's patch?
If not, I can do that.

Thanks David anyway.

Jean-Louis


2013/4/3 David Salter <da...@me.com>

> I've attacked a patch to JIRA  OPENEJB-1306 Validation: EJB's cannot be
> declared as final - https://issues.apache.org/jira/browse/OPENEJB-1306
>
> In the patch, I've added a class that validates whether EJBs are final and
> issues a warning upon deployment if they are.  I've also included tests for
> testing @Stateful, @Stateless and @Singleton EJBs are not declared as final.
>
> The warning message is defined within the Messages.properties file similar
> to all the other validation messages.
>
> Please let me know if this is OK.
>
> Thanks,
>
> Dave.
>
>
>
> On 2 Apr 2013, at 22:46, David Salter <da...@me.com> wrote:
>
> > Yes, the patch I've done gives a warning on deployment but doesn't make
> it fail.
> >
> > I'll attach a patch to JIRA tomorrow.
> >
> >
> >
> > On 2 Apr 2013, at 22:41, Romain Manni-Bucau <rm...@gmail.com>
> wrote:
> >
> >> While it generates a warning ok (but dont make deployment fail, would
> break
> >> some apps).
> >> Le 2 avr. 2013 23:38, "David Salter" <da...@me.com> a écrit :
> >>
> >>> Yes, I've noticed that the Spec says EJBs cannot be final, but OpenEJB
> >>> works correctly whether EJBs are final or not.
> >>>
> >>>
> >>> Best to agree with the spec I think though.
> >>>
> >>> Dave.
> >>>
> >>>
> >>> On 2 Apr 2013, at 22:12, Romain Manni-Bucau <rm...@gmail.com>
> wrote:
> >>>
> >>>> That s forbidden by the spec but tolerated by most of servers
> >>>> Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :
> >>>>
> >>>>> here's my take:
> >>>>>
> >>>>> @Stateless class can only be final (if any) if it has an explicit
> local
> >>>>> interface imo. It must _not_ be final if it only has a No-Interface
> >>> View.
> >>>>>
> >>>>> @Stateful must not be final if it has a CDI scope (because in that
> case
> >>>>> CDI proxying rules apply).
> >>>>>
> >>>>>
> >>>>> LieGrue,
> >>>>> strub
> >>>>>
> >>>>>
> >>>>> ----- Original Message -----
> >>>>>> From: Romain Manni-Bucau <rm...@gmail.com>
> >>>>>> To: dev@tomee.apache.org
> >>>>>> Cc:
> >>>>>> Sent: Tuesday, April 2, 2013 9:02 PM
> >>>>>> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
> >>>>>>
> >>>>>> Hmm, pby a bad practisebut it should work (at least it works in
> other
> >>> app
> >>>>>> servers)
> >>>>>> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
> >>>>>> écrit :
> >>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I'm working on a patch for OPENEJB-1306 which I've almost got
> >>>>>> complete.  I
> >>>>>>> just wanted to verify that the issue is that EJB3 beans, i.e. those
> >>>>>>> annotated with @Singleton, @Stateless or @Stateful cannot be
> declared
> >>>>> as
> >>>>>>> final.
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>>
> >>>>>>> Dave.
> >>>
> >>>
>
>


-- 
Jean-Louis

Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by David Salter <da...@me.com>.
I've attacked a patch to JIRA  OPENEJB-1306 Validation: EJB's cannot be declared as final - https://issues.apache.org/jira/browse/OPENEJB-1306

In the patch, I've added a class that validates whether EJBs are final and issues a warning upon deployment if they are.  I've also included tests for testing @Stateful, @Stateless and @Singleton EJBs are not declared as final.

The warning message is defined within the Messages.properties file similar to all the other validation messages.

Please let me know if this is OK.

Thanks,

Dave.



On 2 Apr 2013, at 22:46, David Salter <da...@me.com> wrote:

> Yes, the patch I've done gives a warning on deployment but doesn't make it fail. 
> 
> I'll attach a patch to JIRA tomorrow. 
> 
> 
> 
> On 2 Apr 2013, at 22:41, Romain Manni-Bucau <rm...@gmail.com> wrote:
> 
>> While it generates a warning ok (but dont make deployment fail, would break
>> some apps).
>> Le 2 avr. 2013 23:38, "David Salter" <da...@me.com> a écrit :
>> 
>>> Yes, I've noticed that the Spec says EJBs cannot be final, but OpenEJB
>>> works correctly whether EJBs are final or not.
>>> 
>>> 
>>> Best to agree with the spec I think though.
>>> 
>>> Dave.
>>> 
>>> 
>>> On 2 Apr 2013, at 22:12, Romain Manni-Bucau <rm...@gmail.com> wrote:
>>> 
>>>> That s forbidden by the spec but tolerated by most of servers
>>>> Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :
>>>> 
>>>>> here's my take:
>>>>> 
>>>>> @Stateless class can only be final (if any) if it has an explicit local
>>>>> interface imo. It must _not_ be final if it only has a No-Interface
>>> View.
>>>>> 
>>>>> @Stateful must not be final if it has a CDI scope (because in that case
>>>>> CDI proxying rules apply).
>>>>> 
>>>>> 
>>>>> LieGrue,
>>>>> strub
>>>>> 
>>>>> 
>>>>> ----- Original Message -----
>>>>>> From: Romain Manni-Bucau <rm...@gmail.com>
>>>>>> To: dev@tomee.apache.org
>>>>>> Cc:
>>>>>> Sent: Tuesday, April 2, 2013 9:02 PM
>>>>>> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
>>>>>> 
>>>>>> Hmm, pby a bad practisebut it should work (at least it works in other
>>> app
>>>>>> servers)
>>>>>> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
>>>>>> écrit :
>>>>>> 
>>>>>>> Hi,
>>>>>>> 
>>>>>>> I'm working on a patch for OPENEJB-1306 which I've almost got
>>>>>> complete.  I
>>>>>>> just wanted to verify that the issue is that EJB3 beans, i.e. those
>>>>>>> annotated with @Singleton, @Stateless or @Stateful cannot be declared
>>>>> as
>>>>>>> final.
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> 
>>>>>>> Dave.
>>> 
>>> 


Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by David Salter <da...@me.com>.
Yes, the patch I've done gives a warning on deployment but doesn't make it fail. 

I'll attach a patch to JIRA tomorrow. 



On 2 Apr 2013, at 22:41, Romain Manni-Bucau <rm...@gmail.com> wrote:

> While it generates a warning ok (but dont make deployment fail, would break
> some apps).
> Le 2 avr. 2013 23:38, "David Salter" <da...@me.com> a écrit :
> 
>> Yes, I've noticed that the Spec says EJBs cannot be final, but OpenEJB
>> works correctly whether EJBs are final or not.
>> 
>> 
>> Best to agree with the spec I think though.
>> 
>> Dave.
>> 
>> 
>> On 2 Apr 2013, at 22:12, Romain Manni-Bucau <rm...@gmail.com> wrote:
>> 
>>> That s forbidden by the spec but tolerated by most of servers
>>> Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :
>>> 
>>>> here's my take:
>>>> 
>>>> @Stateless class can only be final (if any) if it has an explicit local
>>>> interface imo. It must _not_ be final if it only has a No-Interface
>> View.
>>>> 
>>>> @Stateful must not be final if it has a CDI scope (because in that case
>>>> CDI proxying rules apply).
>>>> 
>>>> 
>>>> LieGrue,
>>>> strub
>>>> 
>>>> 
>>>> ----- Original Message -----
>>>>> From: Romain Manni-Bucau <rm...@gmail.com>
>>>>> To: dev@tomee.apache.org
>>>>> Cc:
>>>>> Sent: Tuesday, April 2, 2013 9:02 PM
>>>>> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
>>>>> 
>>>>> Hmm, pby a bad practisebut it should work (at least it works in other
>> app
>>>>> servers)
>>>>> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
>>>>> écrit :
>>>>> 
>>>>>> Hi,
>>>>>> 
>>>>>> I'm working on a patch for OPENEJB-1306 which I've almost got
>>>>> complete.  I
>>>>>> just wanted to verify that the issue is that EJB3 beans, i.e. those
>>>>>> annotated with @Singleton, @Stateless or @Stateful cannot be declared
>>>> as
>>>>>> final.
>>>>>> 
>>>>>> Thanks,
>>>>>> 
>>>>>> Dave.
>> 
>> 

Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by Romain Manni-Bucau <rm...@gmail.com>.
While it generates a warning ok (but dont make deployment fail, would break
some apps).
Le 2 avr. 2013 23:38, "David Salter" <da...@me.com> a écrit :

> Yes, I've noticed that the Spec says EJBs cannot be final, but OpenEJB
> works correctly whether EJBs are final or not.
>
>
> Best to agree with the spec I think though.
>
> Dave.
>
>
> On 2 Apr 2013, at 22:12, Romain Manni-Bucau <rm...@gmail.com> wrote:
>
> > That s forbidden by the spec but tolerated by most of servers
> > Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :
> >
> >> here's my take:
> >>
> >> @Stateless class can only be final (if any) if it has an explicit local
> >> interface imo. It must _not_ be final if it only has a No-Interface
> View.
> >>
> >> @Stateful must not be final if it has a CDI scope (because in that case
> >> CDI proxying rules apply).
> >>
> >>
> >> LieGrue,
> >> strub
> >>
> >>
> >> ----- Original Message -----
> >>> From: Romain Manni-Bucau <rm...@gmail.com>
> >>> To: dev@tomee.apache.org
> >>> Cc:
> >>> Sent: Tuesday, April 2, 2013 9:02 PM
> >>> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
> >>>
> >>> Hmm, pby a bad practisebut it should work (at least it works in other
> app
> >>> servers)
> >>> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
> >>> écrit :
> >>>
> >>>> Hi,
> >>>>
> >>>> I'm working on a patch for OPENEJB-1306 which I've almost got
> >>> complete.  I
> >>>> just wanted to verify that the issue is that EJB3 beans, i.e. those
> >>>> annotated with @Singleton, @Stateless or @Stateful cannot be declared
> >> as
> >>>> final.
> >>>>
> >>>> Thanks,
> >>>>
> >>>> Dave.
> >>>>
> >>>>
> >>>
> >>
>
>

Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by David Salter <da...@me.com>.
Yes, I've noticed that the Spec says EJBs cannot be final, but OpenEJB works correctly whether EJBs are final or not.


Best to agree with the spec I think though.

Dave.

 
On 2 Apr 2013, at 22:12, Romain Manni-Bucau <rm...@gmail.com> wrote:

> That s forbidden by the spec but tolerated by most of servers
> Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :
> 
>> here's my take:
>> 
>> @Stateless class can only be final (if any) if it has an explicit local
>> interface imo. It must _not_ be final if it only has a No-Interface View.
>> 
>> @Stateful must not be final if it has a CDI scope (because in that case
>> CDI proxying rules apply).
>> 
>> 
>> LieGrue,
>> strub
>> 
>> 
>> ----- Original Message -----
>>> From: Romain Manni-Bucau <rm...@gmail.com>
>>> To: dev@tomee.apache.org
>>> Cc:
>>> Sent: Tuesday, April 2, 2013 9:02 PM
>>> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
>>> 
>>> Hmm, pby a bad practisebut it should work (at least it works in other app
>>> servers)
>>> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
>>> écrit :
>>> 
>>>> Hi,
>>>> 
>>>> I'm working on a patch for OPENEJB-1306 which I've almost got
>>> complete.  I
>>>> just wanted to verify that the issue is that EJB3 beans, i.e. those
>>>> annotated with @Singleton, @Stateless or @Stateful cannot be declared
>> as
>>>> final.
>>>> 
>>>> Thanks,
>>>> 
>>>> Dave.
>>>> 
>>>> 
>>> 
>> 


Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by Romain Manni-Bucau <rm...@gmail.com>.
That s forbidden by the spec but tolerated by most of servers
Le 2 avr. 2013 23:07, "Mark Struberg" <st...@yahoo.de> a écrit :

> here's my take:
>
> @Stateless class can only be final (if any) if it has an explicit local
> interface imo. It must _not_ be final if it only has a No-Interface View.
>
> @Stateful must not be final if it has a CDI scope (because in that case
> CDI proxying rules apply).
>
>
> LieGrue,
> strub
>
>
> ----- Original Message -----
> > From: Romain Manni-Bucau <rm...@gmail.com>
> > To: dev@tomee.apache.org
> > Cc:
> > Sent: Tuesday, April 2, 2013 9:02 PM
> > Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
> >
> > Hmm, pby a bad practisebut it should work (at least it works in other app
> > servers)
> > Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a
> > écrit :
> >
> >>  Hi,
> >>
> >>  I'm working on a patch for OPENEJB-1306 which I've almost got
> > complete.  I
> >>  just wanted to verify that the issue is that EJB3 beans, i.e. those
> >>  annotated with @Singleton, @Stateless or @Stateful cannot be declared
> as
> >>  final.
> >>
> >>  Thanks,
> >>
> >>  Dave.
> >>
> >>
> >
>

Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by Mark Struberg <st...@yahoo.de>.
here's my take:

@Stateless class can only be final (if any) if it has an explicit local interface imo. It must _not_ be final if it only has a No-Interface View.

@Stateful must not be final if it has a CDI scope (because in that case CDI proxying rules apply).


LieGrue,
strub


----- Original Message -----
> From: Romain Manni-Bucau <rm...@gmail.com>
> To: dev@tomee.apache.org
> Cc: 
> Sent: Tuesday, April 2, 2013 9:02 PM
> Subject: Re: OPENEJB-1306 - EJB's cannot be declared final
> 
> Hmm, pby a bad practisebut it should work (at least it works in other app
> servers)
> Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a 
> écrit :
> 
>>  Hi,
>> 
>>  I'm working on a patch for OPENEJB-1306 which I've almost got 
> complete.  I
>>  just wanted to verify that the issue is that EJB3 beans, i.e. those
>>  annotated with @Singleton, @Stateless or @Stateful cannot be declared as
>>  final.
>> 
>>  Thanks,
>> 
>>  Dave.
>> 
>> 
> 

Re: OPENEJB-1306 - EJB's cannot be declared final

Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hmm, pby a bad practisebut it should work (at least it works in other app
servers)
Le 2 avr. 2013 20:08, "David Salter" <da...@me.com> a écrit :

> Hi,
>
> I'm working on a patch for OPENEJB-1306 which I've almost got complete.  I
> just wanted to verify that the issue is that EJB3 beans, i.e. those
> annotated with @Singleton, @Stateless or @Stateful cannot be declared as
> final.
>
> Thanks,
>
> Dave.
>
>