• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to use these EJB's?

 
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
The situation: We have a Servlet that receives HTTP requests. These requests need to be stored in a database. To prevent the Servlet from waiting on the write action, we want the writing to be a asynchronic process.
The (possible) solution: We use a EJB container which contains beans. A message-driven-bean is used to 'transfer' the HTTP request data (the Servlet calls the message-driven-bean). The message-driven-bean passes the data (probably a bean also), to the buffering entity bean. After a buffering limit has been reached, the buffer is written to the database.
QUESTION 1: How should we approach this enitity bean? Just a bean that has its own buffer (Vector for instance)? Or do we need to define the entity bean by it's unique element. The entity bean represents an element from the buffer, so there is no actual buffer. We prefer the first option, since there is some business logic involved on the database storage (testing, etc.). The buffer is filled, when the limit has been reached, it instantiates a Thread that does the actual storing, so that the buffering itself can continue.
Continue: When the Servlet is first instantiated, it needs to know a maximum value from the database. We don't want to make another database connection around the EJB container, so we want to do this through the EJB container.
QUESTION 2: We need an EJB that retrieves the needed value from the database and can be called by the Servlet, so that this Servlet can get the value. This EJB does not need to exsist for a long period. It only has to be instantiated when the Servlet calls it. What kind of bean do we have to use? We really want it to be inside the EJB container.
Thanks in advance!
Jeroen Oosterlaar
P.S. Is this a good way of solving the storage? Or would the use of Thread in the Servlet container be sufficient?
 
Ranch Hand
Posts: 199
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I haven't worked a lot on these, but wondering, regarding your Q1, "buffering entity bean", why not use a CMP bean and leave the buffering to the database ? You can always configure the DB to have any kind of buffering you want.
 
reply
    Bookmark Topic Watch Topic
  • New Topic