Babak Samadi | 4 Nov 2007 13:09
Picon
Favicon

Help...!

Hi every body.
because of particular ISO-8583 implementation in IRAN, we  must have  send  and receive JPos channels on
separate ports. 
but because of performance problems, i need have multi send and receive JPos channel.(Pooling)
 how i can do it?

Thanks in advance

 "Best Regards"
  Babak Samadi

 __________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

[Non-text portions of this message have been removed]

 
Mark Salter | 4 Nov 2007 13:27

Re: Help...!

Babak Samadi wrote:
> Hi every body.
Hello again!

> because of particular ISO-8583 implementation in IRAN, we  must have  send  and receive JPos channels on
separate ports. 
> but because of performance problems, i need have multi send and receive JPos channel.(Pooling)
>  how i can do it?

I consider this a user question.

May I humbly suggest that we continue this thread in the jpos-users
mailing list:-

	http://tinyurl.com/22fvcb
or
	http://groups.google.co.uk/group/jpos-users/t/3f66beb05922beb1?hl=en

Just to avoid having two threads discussing the same solution.

--

-- 
Mark

 
johnnyoverland | 9 Nov 2007 20:19

Profiler Implementation Example

I am putting the final pieces together on our design and have some 
questions on how the Profiler works. Ultimately I am looking for an 
example of using the Profiler in a Q2 environment.

I have a Q2 server listening on port 5000 and when a TXN arrives it 
fires off a GroupSelector and subsequently Participants which do 
various modifactions to the message and send to an external Host via 
a QMUX -> Channel Adaptor scenario.

I have added               
<property name="checkpoint" value="testCheck"/>
to my config files at various locations and I have also created a 
Profiler object in my RequestListeners Process method.

public boolean process(ISOSource source, ISOMsg m) {
		Context ctx = new Context();
		Profiler prof = new Profiler();
		prof.checkPoint ("NACS-receive");
		prof.checkPoint ("NACS-send");
		ctx.put(cfg.get("destination","defaultDestination"), 
m);
		ctx.put(cfg.get("source","defaultSource"), source);
		Space sp = SpaceFactory.getSpace(cfg.get("space",""));
		sp.out(cfg.get("manager","defaultManager"), ctx, 
cfg.getLong("timeout",5000)); 
		prof.dump (System.out, "");
		return true;
	}

And I get some results but not really what I am expecting or wanting.
(Continue reading)

Alejandro Revilla | 9 Nov 2007 20:50
Favicon
Gravatar

Re: Profiler Implementation Example

Instead of creating a new Profiler you want to use the profiler provided
by your context (context.getProfiler());

On Fri, Nov 09, 2007 at 07:19:34PM -0000, johnnyoverland wrote:
> I am putting the final pieces together on our design and have some 
> questions on how the Profiler works. Ultimately I am looking for an 
> example of using the Profiler in a Q2 environment.
> 
> I have a Q2 server listening on port 5000 and when a TXN arrives it 
> fires off a GroupSelector and subsequently Participants which do 
> various modifactions to the message and send to an external Host via 
> a QMUX -> Channel Adaptor scenario.
> 
> I have added               
> <property name="checkpoint" value="testCheck"/>
> to my config files at various locations and I have also created a 
> Profiler object in my RequestListeners Process method.
> 
> public boolean process(ISOSource source, ISOMsg m) {
> 		Context ctx = new Context();
> 		Profiler prof = new Profiler();
> 		prof.checkPoint ("NACS-receive");
> 		prof.checkPoint ("NACS-send");
> 		ctx.put(cfg.get("destination","defaultDestination"), 
> m);
> 		ctx.put(cfg.get("source","defaultSource"), source);
> 		Space sp = SpaceFactory.getSpace(cfg.get("space",""));
> 		sp.out(cfg.get("manager","defaultManager"), ctx, 
> cfg.getLong("timeout",5000)); 
> 		prof.dump (System.out, "");
(Continue reading)

siamak_mahmoudian | 10 Nov 2007 13:39
Picon
Favicon

Using JPOS with store procedure

Hello ,

I want to implemented a system that receives ISO messages , and
interprets those messages and after that upon their processing codes ,
decides which store procedure must be call. after calling create
response messages and return to client. so i thought that i can have a
schema like this:
     QServer <--> connector <--> QMUX <--> semi channel likes
ChannelAdaptor <--> External DB

Am I being completely insane, or is this worthwhile pursuing?

 
Alejandro Revilla | 11 Nov 2007 16:35
Favicon
Gravatar

Re: Using JPOS with store procedure

>
>      QServer <--> connector <--> QMUX <--> semi channel likes
> ChannelAdaptor <--> External DB
> 
I would implement your business logic either in an ISORequestListener
implementation or by handling the request off to the TransactionManager
and implementing the business logic as a transaction participant.

 
kchikomo | 12 Nov 2007 08:29
Picon
Favicon

ISOMux

Hello 
I am a Newbie to Jpos, I am having a slight problem with my ISOMux. It
seems not to be connecting and sending messages to the underlying channel.

Here is my code:
			ISOChannel channel = new ASCIIChannel ("localhost", 8000, new
ISO87APackager());
			ISOMUX mux = new ISOMUX (channel);
			

			ISOMsg m = new ISOMsg();
			m.setMTI ("0800");
			m.set (11, "000002");
			m.set (41, "00000001");
			ISORequest r = new ISORequest (m);
			
			mux.queue (r);
			ISOMsg response =r.getResponse(3000);

			if (response != null) 
			{
				System.out.println("response received");
			} 
			else
			{
				System.out.println("response is null");
			}

Please advise why its not sending, when i use the channel without a
mux it works fine.
(Continue reading)

Alejandro Revilla | 12 Nov 2007 10:03
Favicon
Gravatar

Re: ISOMux

> 			ISOMUX mux = new ISOMUX (channel);
> 			
You need to start it in its own thread:

    new Thread(mux).start();

 
kchikomo | 12 Nov 2007 12:11
Picon
Favicon

Re: ISOMux

--- In jpos-dev@..., Alejandro Revilla <apr <at> ...> wrote:
>
> > 			ISOMUX mux = new ISOMUX (channel);
> > 			
> You need to start it in its own thread:
> 
>     new Thread(mux).start();
>

Thanks alot, it works great.

 
David | 12 Nov 2007 23:31

Possible deadlock condition between ISOServer and ISOMux

Hi-

I have a program which creates an ISOServer.  When I get a connection
on the server, I'm starting a new ISOMux to work on that channel
because the server can send spontaneous messages to the client and I
want to correlate the response - which mux handles very well.

However, when the client sends a message, it seems that sometimes the
server and the mux deadlock over the channel (in channel.receive()) on
the message coming in.  Both are waiting on channel.receive(), and I
think that when a message comes in, one of them processes the message
(probably due to a notify()), then the other one blocks on the socket
waiting for the message he was notified for... but the input stream
has already been processed.  So that thread is forever waiting.

I don't really need the complete mux implementation for what I'm
doing, just the ability to do the correlated request/reply over a
channel created by ISOServer.  Any suggestions?

-David-


 

Gmane