Hi Niranjan,

 

If you like Spring's IOC, you can try taking a look at Camel HL7 which is a
Spring integration for HAPI using ActiveMQ.

I tried it a long while ago, and wasn't quite successful at getting it to
work. But I remember some discussion on this mailing list about Camel.

 

Regards,

rahul

 

 

From: Sharma, Niranjan K (GE Healthcare) [mailto:[email protected]]

Sent: Monday, July 27, 2009 3:42 PM
To: James Agnew
Cc: [email protected]
Subject: Re: [HAPI-devel] HAPI Threading Model

 

Hi James,

 

Thanks for your response. 

 

I am essentially trying to create an HL7 Server endpoint which will
eventually fed to a Q. Can you describe more on your model of EJB MDB model.

I thought you guys at UHN using HL7 server model. I thought HL7 server model
is pretty neat and had lots of upside. 

 

We want to stay away from EJB and move towards OSGI environment(pure JAVA).
My goal is have this HL7 Server in OSGI platform.

 

Is there a way, we can talk on phone?

 

Thanks.

 

Regards

-Niranjan.

 

 

From: [email protected] [mailto:[email protected]] On Behalf Of James
Agnew
Sent: Monday, July 27, 2009 4:33 PM
To: Sharma, Niranjan K (GE Healthcare)
Cc: [email protected]
Subject: Re: HAPI Threading Model

 

Hi Niranjan,

I haven't actually used HL7Server personally in a while, although I know
there are a number of other people who do- Hopefully someone else can shed
some light on their experience. Here at UHN, we have moved over the last few
years towards a model of processing incoming HL7 messages in an EJB MDB
being fed directly from a queue on our interface engine. 

My recollection (with a quick look over the code) is that ProcessorImpl (the
class HL7Server instantiates to handle each new connection to the server)
spawns a single thread in it's constructor that is responsible for receiving
messages, and then spawns a separate thread for every received message to
handle sending back an acknowledgement.

This behaviour does seem a bit odd to me, it would probably make sense to
handle sending and receiving in a single thread and just keep using that
thread. This wouldn't actually be difficult to implement, you would just
need to modify "sendAppResponse(Transportable)" in ProcessorImpl. Maybe
HL7Server could be modified to include an option for this. 

Alternately, ProcessorImpl has a constructor argument "threaded" which can
be set to false. This disables all thread creation in the class, which means
that you could use it as is, but you would need to add some other stuff
yourself (accepting connections, periodically calling "cycle()" to receive
new message, etc). If you are hosting your application in an application
server, this is probably the safest option, since EJB looks poorly on
creating your own threads at all.

Hopefully this helps, and let me know if I can assist in any way.

Cheers,
James

On Fri, Jul 24, 2009 at 10:48 AM, Sharma, Niranjan K (GE Healthcare)
<[email protected]> wrote:

Hi James,

 

I have implemented a HL7Server based on HAPI's HL7 Server implementation.

 

While doing the Threading and Memory analysis, I am realizing that it has a
growing Thread model.

Which means HL7Server creates new thread for new message..literally?

 

Can you throw some light on Threading model? Also, some facts from UHN
experience.

 

I am pretty Happy with HAPI's overall performance

 

Please see the attached snapshot for your reference.

 

Best Regards

-Niranjan.

 

Checked by AVG - www.avg.com
Version: 8.5.387 / Virus Database: 270.13.32/2266 - Release Date: 07/27/09
05:58:00

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Hl7api-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hl7api-devel

Reply via email to