forgot to add... i am using TomEE/ActiveMQ to do JMS (1.0) stuff (learned the code via Tomee's 'simple MDB' example), and the 'stuff' works great!
my app is doing simple MDB stuff, triggered by @Schedule methods on @Singleton @Lock(WRITE) bean, which references @ApplicationScoped CDI bean to update application-scope/wide properties/variables, etc... and as I learned from David Blevins, I can make the @Schedule more 'aggressive' (@Schedule ever 2 minutes and/or less). i have @Schedule running every 1 or 2 minutes, and @Schedule running every 30 seconds (I think) to check @ApplicationScoped or @Singleton bean; I forgot the details (you know how we developers forget some stuff in the app/implementation until we look at the code). just sharing that tidbit though... On Tue, Jul 9, 2013 at 2:29 PM, Leonardo K. Shikida <[email protected]>wrote: > Thanks Howard, I think you're right. > > I'll take that 2 cents :-) > > TIA > > Leo > > > On Tue, Jul 9, 2013 at 3:25 PM, Howard W. Smith, Jr. > <[email protected]> wrote: > > Leonardo, you may want to revisit Java EE 6 tutorial. almost 2 years ago > > (summer 2011), before I began coding Java EE, I studied Java EE 6 > tutorial, > > and since I been doing (minimal) Java EE 6 ever since, by looking at your > > code, I will respond as follows (based on my learning): > > > > 1. I would never add @Startup on @Stateless, even though I've seen others > > add @startup on@Singleton, and from what I thought/learned/read, > @Singleton > > is @Stateless, but I could be wrong. :) > > > > 2. I would never add or 'assume' that @PostConstruct should be added to > > @Stateless. per my Java EE 6 tutorial learning-and-understanding of > > @PostConstruct, I should only add @PostConstruct on managed beans > > (@RequestScoped, @SessionScoped, etc...) > > > > my 'two' cents... > > > > Oh, I have learned from TomEE committers that I can/should use @Singleton > > @Lock(Read or Write), and I can add @Schedule methods to @Singleton > > bean(s). I am doing (all of) this in my app, using TomEE 1.6.0, and I am > > very satisfied with the performance of the app. But I am not using > > @Startup; i have an @ApplicationScoped CDI bean that is global to entire > > app, all sessions, the @Singleton beans, etc... when TomEE starts my app, > > @ApplicationScoped bean will be instantiated and I can add @PostConstruct > > to this CDI @ApplicationScoped bean to do whatever I want to do when my > app > > 'starts'...so why do I need @Startup? don't need it and I don't use it. > > > > > > > > > > On Tue, Jul 9, 2013 at 1:19 PM, Leonardo K. Shikida <[email protected] > >wrote: > > > >> learning something new everyday ;-) > >> > >> [] > >> > >> Leo > >> > >> > >> On Tue, Jul 9, 2013 at 2:06 PM, Romain Manni-Bucau > >> <[email protected]> wrote: > >> > @Startup on stateless doesnt mean anything in the spec IIRC ;) > >> > Le 9 juil. 2013 19:04, "Leonardo K. Shikida" <[email protected]> a > >> écrit : > >> > > >> >> No, it's a regular @Stateless > >> >> > >> >> @Stateless > >> >> @Startup > >> >> public class JmsWorkerEJB {...} > >> >> > >> >> It has a method annotated with @Schedule that reads from a JMS queue. > >> >> > >> >> In the worst case, since @PostConstruct is being called, I could > >> >> schedule from there instead, but does not seems an elegant way to > deal > >> >> with that :-) > >> >> > >> >> [] > >> >> > >> >> Leo > >> >> > >> >> > >> >> On Tue, Jul 9, 2013 at 1:56 PM, Romain Manni-Bucau > >> >> <[email protected]> wrote: > >> >> > Found in code this time ;) > >> >> > > >> >> > Is your ejb a singleton? Did you set @lock(read)? > >> >> > > >> >> > Working thread can be done with @Asynchronous in javaee 6 > >> >> > Le 9 juil. 2013 18:52, "Leonardo K. Shikida" <[email protected]> a > >> >> écrit : > >> >> > > >> >> >> MinSize does instantiate these :-) > >> >> >> > >> >> >> Where did you find this parameter? > >> >> >> > >> >> >> But the method annotated with @Schedule is run only for one > instance > >> >> >> at a time. I thought it should run for all of them. > >> >> >> > >> >> >> How people usually implement the concept of working threads in > EJB? > >> >> >> Maybe I am trying to do this in the wrong way. > >> >> >> > >> >> >> TIA > >> >> >> > >> >> >> Leo > >> >> >> > >> >> >> > >> >> >> On Tue, Jul 9, 2013 at 1:37 PM, Romain Manni-Bucau > >> >> >> <[email protected]> wrote: > >> >> >> > Did you try MinSize? > >> >> >> > Le 9 juil. 2013 18:16, "Leonardo K. Shikida" <[email protected]> > a > >> >> >> écrit : > >> >> >> > > >> >> >> >> Hi Romain > >> >> >> >> > >> >> >> >> I've added to tomee.xml > >> >> >> >> > >> >> >> >> <Container id="foo" type="STATELESS"> > >> >> >> >> PoolSize=10 > >> >> >> >> </Container> > >> >> >> >> > >> >> >> >> but it didn't worked as I was expecting. > >> >> >> >> > >> >> >> >> I thought it would instantiate 10 instances. > >> >> >> >> > >> >> >> >> I've also added a sysout in the > >> >> >> >> > >> >> >> >> @PostConstruct > >> >> >> >> public void init() { > >> >> >> >> System.out.println("Hello "+this); > >> >> >> >> > >> >> >> >> I thought I'd have 10 lines in the first service, but there was > >> only > >> >> >> one. > >> >> >> >> > >> >> >> >> Do I have to set somewhere (somehow) that my bean is using this > >> >> >> >> container or tomee assumes it's the default configuration for > all > >> >> >> >> stateless beans? > >> >> >> >> > >> >> >> >> TIA > >> >> >> >> > >> >> >> >> Leo > >> >> >> >> > >> >> >> >> > >> >> >> >> On Tue, Jul 9, 2013 at 12:29 PM, Romain Manni-Bucau > >> >> >> >> <[email protected]> wrote: > >> >> >> >> > Hi > >> >> >> >> > > >> >> >> >> > The basic conf is here > >> >> >> >> http://tomee.apache.org/containers-and-resources.html > >> >> >> >> > > >> >> >> >> > You can set PoolSize (MaxSize) but MinSize too > >> >> >> >> > Le 9 juil. 2013 14:45, "Leonardo K. Shikida" < > [email protected]> > >> a > >> >> >> >> écrit : > >> >> >> >> > > >> >> >> >> >> Hi > >> >> >> >> >> > >> >> >> >> >> I am using a stateless bean to consume from a jms queue > >> >> periodically > >> >> >> >> >> (@Schedule). It's started with the container (@Startup). Is > >> there > >> >> any > >> >> >> >> >> way to configure somewhere the initial number of instances > for > >> >> this > >> >> >> >> >> specific bean? > >> >> >> >> >> > >> >> >> >> >> TIA > >> >> >> >> >> > >> >> >> >> >> Leo > >> >> >> >> >> > >> >> >> >> > >> >> >> > >> >> > >> >
