Yesterday I missed to write to the mailing list, so Romain answered me also directly. I think its ok that I publish his answer :-D

Am 03.12.2014 um 15:59 schrieb Alexander Wagner:
> I Am not sure what do you mean with "@Inject should work for EJB once a
> beans.xml added". @Inject works already but not in cases where my EJB
> for example implements an interface, than the ejb could not resolved
> anymore and I don't get the trick that it is resolvable also over CDI
> (@Inject).

Am 03.12.2014 um 16:04 schrieb Romain Manni-Bucau:
> @Inject EjbApi ejb; works with CDI. Just ensure to inject using the
> EJB "api" (ie interface for you) and not implementation

Am 03.12.2014 um 16:09 schrieb Alexander Wagner:
> Oh sry I misssed to answer to the mailing list!
>
> ah ok so in my case I resolved it by adding @LocalBean because I needed
> the impl and not only the interface...

So thank you for your help Romain!

Am 03.12.2014 um 15:46 schrieb Romain Manni-Bucau:
Before we don't support it AFAIK, we support CDI integration but not
EJB one. Could be added but @Inject should work for EJB once a
beans.xml added


Romain Manni-Bucau
@rmannibucau
http://www.tomitribe.com
http://rmannibucau.wordpress.com
https://github.com/rmannibucau


2014-12-03 15:36 GMT+01:00 Alexander Wagner <alexander.wag...@inside-m2m.de>:
Hello TomEE-Comunity,

could someone give me an explanation why it is possible to inject by @Inject
but not by @EJB in a MBean?

@javax.management.MBean
@ApplicationScoped
class MyMBean  {
         @Inject MyService myserviceA;
         @EJB    MyService myserviceB;

         @ManagedOperation
         public void test() {
                 System.out.println(myserviceA); // prints the proxy
                 System.out.println(myserviceB); // prints null
         }
}

@Stateless class MyService {}

My background is that I can use @Inject as long as my Stateless does not
implements an interface:

@Stateless class MyService implements MyInterface {}

Maybe my understanding of CDI is here not deep enough, but for now I use
normally @EJB e.g. if the EJB's implements an interface because with @Inject
the EJB can not be resolved anymore.

So for now I can not use the MyService with an interface in a MBean. Does
someone has a tip what I am doing wrong?

Best Regards
Alexander Wagner



Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to