Hi Rahul,

 

I have experimented with CAMEL. It works very fine for the purpose it
is..which is integration. 

 

HAPI has the entire fundamental you need for a HL7 server, I am trying
to see if one can create one.

 

The only area where so far I am getting hit is Threading Model. It is
not poor but not the best either.

 

Any experience in this area?

 

Thanks.

 

Regards

-Niranjan.

 

From: rahul somasunderam [mailto:[email protected]] 
Sent: Monday, July 27, 2009 5:03 PM
To: [email protected]
Subject: Re: [HAPI-devel] HAPI Threading Model

 

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