title: Singleton in Java App Server.. How bad of an idea is this?
body: <p>I am currently working on some older java code that was developed without App Servers in mind.  It is basically a bunch of "black box code" with an input interface, and an output interface.  Everything in the "black box" classes are static Data Structures that contain state, which are put through algorithms at timed intervals (every 10 seconds). The black box is started from a main method.</p>
  
  <p>To keep this easy for myself, I am thinking of making the "black box" a Singleton.  Basically, anyone who wants to access the logic inside of the black box will get the same instance.  This will allow me to use Message Driven beans as input to the black box, and a JMS Publisher of some sort as the output of the black box.  </p>
  
  <p>How bad of an idea is this?  Any tips?</p>
  
  <p>One of the main concerns I have though, is there may be Threads in the "black box" code that I am unaware of.  </p>
  
  <p>Is there such thing as "application scoped objects" in EJB?</p>
  
  <p>Note:  I am using Glassfish</p>