Author |
Message
|
xcuseme123 |
Posted: Mon Sep 09, 2013 11:15 am Post subject: Timer node issue in MB 6.0.9 |
|
|
Apprentice
Joined: 30 Jun 2013 Posts: 33
|
Hi,
Am using a TimeoutNotification as input which is scheduled to trigger at every 1min.
TimeoutNotification -->JavaCompute-->MQ Output node
above javacompute node call another java project to read email from Outlook.
I have configured single instance to run in server.. But I have noticed that even though single instance is configured, i see multiple instance running in parallel .. Also to read email is having larger attachment size it takes more than 2min..
I think while MB service is busy in processing any email , Timeoutnotification trigger automatically after 1min and new session will be initiated.. is it Timer node issue or any suggestion please ? |
|
Back to top |
|
 |
lancelotlinc |
Posted: Mon Sep 09, 2013 11:20 am Post subject: |
|
|
 Jedi Knight
Joined: 22 Mar 2010 Posts: 4941 Location: Bloomington, IL USA
|
|
Back to top |
|
 |
Vitor |
Posted: Mon Sep 09, 2013 11:24 am Post subject: Re: Timer node issue in MB 6.0.9 |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
xcuseme123 wrote: |
is it Timer node issue or any suggestion please ? |
Well my first suggestion is to move to something more current than than version of WMB. Loads of fixes (and IBM support) in more recent versions.
I'm also interested to know why WMB is involved in this at all. It seems that all you're trying to do is read an email & dump the contents on a queue. IMHO you'd be better served writing a POJO (regular readers should note my casual familiarity with these Java terms!) and scheduyle that with cron, Windows scheduler or any other OS tool which offers more flexibility & features than a 6.0.0.9 Timer node. Which is all of them. Like Windows offers the ability to not start a new instance if the previous instance is still running. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Mon Sep 09, 2013 11:45 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Gosh, it's almost like this is the old POP3Input supportPac. |
|
Back to top |
|
 |
Vitor |
Posted: Mon Sep 09, 2013 11:49 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Gosh, it's almost like this is the old POP3Input supportPac. |
Now, now, it's wrong to speak ill of the dead. Or attempt to raise them. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
xcuseme123 |
Posted: Mon Sep 09, 2013 3:27 pm Post subject: |
|
|
Apprentice
Joined: 30 Jun 2013 Posts: 33
|
lancelotlinc wrote: |
Have your timer notification deposited into a queue. Have an MQInput node -> JCN -> MQOutput. |
I have four UNIX boxes , where single instance is deployed in each boxes.. I need to read set of email in each trigger. Each server is scheduled to run for 12min by spiting one hour into 12min slots and 3min gap will be there before another server to trigger.
I agree with everyone's suggestion and i will tune Timerlogic |
|
Back to top |
|
 |
xcuseme123 |
Posted: Mon Sep 09, 2013 3:28 pm Post subject: |
|
|
Apprentice
Joined: 30 Jun 2013 Posts: 33
|
mqjeff wrote: |
Gosh, it's almost like this is the old POP3Input supportPac. |
Am using IMAP protocol to connect to Outlook email box. |
|
Back to top |
|
 |
xcuseme123 |
Posted: Mon Sep 09, 2013 3:42 pm Post subject: Re: Timer node issue in MB 6.0.9 |
|
|
Apprentice
Joined: 30 Jun 2013 Posts: 33
|
Vitor wrote: |
xcuseme123 wrote: |
is it Timer node issue or any suggestion please ? |
Well my first suggestion is to move to something more current than than version of WMB. Loads of fixes (and IBM support) in more recent versions.
I'm also interested to know why WMB is involved in this at all. It seems that all you're trying to do is read an email & dump the contents on a queue. IMHO you'd be better served writing a POJO (regular readers should note my casual familiarity with these Java terms!) and scheduyle that with cron, Windows scheduler or any other OS tool which offers more flexibility & features than a 6.0.0.9 Timer node. Which is all of them. Like Windows offers the ability to not start a new instance if the previous instance is still running. |
Thanks for your suggestion for Timer logic ..
I'm also interested to know why WMB is involved in this at all.
using WMB to read an email and later depending upon recipients email id will frame soap message and will call another service.
IMHO you'd be better served writing a POJO
Apology.. in the below link, most of the details are available..
http://www.mqseries.net/phpBB/viewtopic.php?p=357081&sid=36c1f7b3574b495de89640e4b2cd97fd
adding to it , below is piece of code as below
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
Properties props=System.getProperties();
if (Secure){
props.setProperty( "mail.imap.socketFactory.class", SSL_FACTORY);
props.setProperty( "mail.imap.socketFactory.fallback", "false");
props.setProperty( "mail.imap.port", "993");
props.setProperty( "mail.imap.socketFactory.port", "993");
}
session = Session.getDefaultInstance(props, null);
store = session.getStore("imaps");
store.connect(imapServer, imapUser, imapPassword); |
|
Back to top |
|
 |
xcuseme123 |
Posted: Mon Sep 09, 2013 3:50 pm Post subject: Re: Timer node issue in MB 6.0.9 |
|
|
Apprentice
Joined: 30 Jun 2013 Posts: 33
|
xcuseme123 wrote: |
Hi,
Am using a TimeoutNotification as input which is scheduled to trigger at every 1min.
TimeoutNotification -->JavaCompute-->MQ Output node
above javacompute node call another java project to read email from Outlook.
I have configured single instance to run in server.. But I have noticed that even though single instance is configured, i see multiple instance running in parallel .. Also to read email is having larger attachment size it takes more than 2min..
I think while MB service is busy in processing any email , Timeoutnotification trigger automatically after 1min and new session will be initiated.. is it Timer node issue or any suggestion please ? |
adding to the above issue, am also facing high CPU utilization(60-80%) if email is having attachment size 10MB to 30MB for the below code,
//writing email in bytestream
retrieveEmail.writeTo(bos);
I have tried below code which brought CPU to 10% , but taking 1hour to read complete email , so I cont implement the below code..
ByteArrayOutputStream bos=new ByteArrayOutputStream();
byte[] buffer = new byte[buffer_size];
while(true) {
int n = in.read(buffer, 0, buffer_size);
if(n == -1) break;
bos.write(buffer, 0, n);
}
any suggestion to bring into control ? or do I need to increase Java heap ?
Also planning to migrate to higher WMB vesrion , but this will take time.. |
|
Back to top |
|
 |
smdavies99 |
Posted: Mon Sep 09, 2013 10:19 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
email is hardly the best protocol for dealing with 10Mb and larger attachments.
Sigh, bangs head on wall.
I think you are going to have to grin and bear this level of CPU utilisation.
and no, you don't need to increase your java heap size.
Why is it that this idea seems to be the panacea of solutions to any java problem?
It isn't. _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 10, 2013 4:16 am Post subject: Re: Timer node issue in MB 6.0.9 |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
I still don't see why you can't read the email with a POJO, drop the result in a queue and front the WMB flow with a MQInput node. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 10, 2013 4:21 am Post subject: Re: Timer node issue in MB 6.0.9 |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
xcuseme123 wrote: |
adding to the above issue, am also facing high CPU utilization(60-80%) if email is having attachment size 10MB to 30MB |
You're moving 30Mb of data through an email transport protocol and you're surprised it takes a long time and eats CPU?
If you want to move that amount of data quickly and efficiently, use a different mechanism (like WMQ). If you don't, won't or can't then suck it up.
And don't say "the requirement is to use email". The requirement is to move this data around. If you're using email because the data is coming into your organization from outside you'll get better performance (and less spam) using a properly secured web service. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Sep 10, 2013 4:37 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Perhaps the requirement is "receive this piece of data from an external business partner, that is being given to us over email".
 |
|
Back to top |
|
 |
Vitor |
Posted: Tue Sep 10, 2013 4:47 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Perhaps the requirement is "receive this piece of data from an external business partner, that is being given to us over email". |
A conversation I've had myself recently here.
So as I indicate, if the "requirement" is to use email then the business needs to accept the limitation and suck it up. If the limitation is unacceptable then they need to explore other options like web services. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|