Author |
Message
|
ragi_kmm |
Posted: Thu Aug 09, 2012 4:47 am Post subject: MB8 Subflow deployment using mqsicreatebar |
|
|
Novice
Joined: 19 Sep 2006 Posts: 13
|
Hi
I have created a application with a reference to Library which is having a subflow.
I could create a bar file using 'mqsicreatebar' command with out any errors but I am getting an error when trying to deploy the bar onto the Brk. The error is "BIP4127E: Failed to find ESQL module 'MF8_Compute'. The module that is required for the ESQL node cannot be found"
But the same is successful when using toolkit.
Any one has faced this issue? Thanks if you have an answer for this |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Aug 09, 2012 4:50 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What's the mqsicreatebar command ? did you specifically mention the .subflow file on the mqsicreatebar command?
This may be an area where there is some expected improvement in v8 FixPack 1, so it's worth opening a PMR just in case. |
|
Back to top |
|
 |
ragi_kmm |
Posted: Thu Aug 09, 2012 4:58 am Post subject: |
|
|
Novice
Joined: 19 Sep 2006 Posts: 13
|
the command is "mqsicreatebar -data C:\Build\ -b MF8.bar -a MF8 -cleanbuild"
The given application name is having a project reference of the library, which is having the Subflow. So, I did not mention the subflow name separately in the above command. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Aug 09, 2012 5:10 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It's worth adding in a -o and a list of all of the files included in the app - assuming that's actually legal syntax.
And, again, I strongly encourage you to open a PMR and be as specific about all of this as possible up front.
I do not know for a fact that there is a known issue here, but I strongly suspect that there is. |
|
Back to top |
|
 |
goffinf |
Posted: Tue Aug 28, 2012 6:41 am Post subject: |
|
|
Chevalier
Joined: 05 Nov 2005 Posts: 401
|
I have a similar issue I think.
I'm using v8.0.0.1 (latest version AFAIK)
In a Application I am referencing a Library that contains a number of .subflows resources and ESQL files.
Both the Application and Library build with no errors or warnings.
If I create a BAR within the toolkit, no files are added.
If I just 'drag-n-drop' the Application on to an execution group I get a warning telling me the BAR file is empty.
If I remove all the .subflows (it doesn't matter whether there are 1, 2 or 22) the BAR file creates successfully and deploys without a problem. |
|
Back to top |
|
 |
McueMart |
Posted: Tue Aug 28, 2012 7:02 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
I concur that I believe there are a few issues floating around surrounding building Bars with the new App/Libs in v8. Im having all kinds of fun trying to get them to generate correctly (especially when im using combinations of JCNs , subflows, common Java code in a Library).
One thing i noticed is that if I have some java code in a library (Lets called the Library: SharedResources , and when I create java code in it I get another project: SharedResourcesJava), then select this library as a reference for an application, the toolkit doesnt seem to correctly add the java project onto the build path of my application's Java Projects. I had to manually perform this step to get stuff compiling. I feel this toolkit could do this for you to avoid the pain of having to figure it out! |
|
Back to top |
|
 |
Vitor |
Posted: Tue Aug 28, 2012 7:10 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
McueMart wrote: |
I feel this toolkit could do this for you to avoid the pain of having to figure it out! |
Have you raised a PMR & determined it's not in fact supposed to be doing that for you?
If you have indeed determined that, please post the link to your RFE so we can vote on it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 28, 2012 7:18 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
McueMart wrote: |
One thing i noticed is that if I have some java code in a library (Lets called the Library: SharedResources , and when I create java code in it I get another project: SharedResourcesJava), then select this library as a reference for an application, the toolkit doesnt seem to correctly add the java project onto the build path of my application's Java Projects. I had to manually perform this step to get stuff compiling. I feel this toolkit could do this for you to avoid the pain of having to figure it out! |
I would think that you would add the Java project as a reference project to the Library and not to the Application. It should then get built when the library gets built, and the jar file included into the library that then gets included into any Application that references the library.
Fraser - I would not expect the behavior you are seeing. A library that contains only .subflow and esql files should be fully compilable and buildable, and should be separately deployable in and of itself. Can you confirm that if you merely drag&drop the library, you get a successful deploy with the correct resources? |
|
Back to top |
|
 |
McueMart |
Posted: Tue Aug 28, 2012 7:35 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
Quote: |
I would think that you would add the Java project as a reference project to the Library and not to the Application. It should then get built when the library gets built, and the jar file included into the library that then gets included into any Application that references the library. |
Thats exactly what I did do initially yes.
The ShareResourcesJava is referenced by SharedResources (Library). The application MyTestApp references the Library SharedResources. The application MyTestApp has a java project within it, MyTestAppJava.
In this scenario I would have expected (or hoped...) that MyTestAppJava could 'see' (or automatically references...), the java projects in the SharedResources Library (SharedResourcesJava). This did not seem to happen. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 28, 2012 7:38 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
McueMart wrote: |
In this scenario I would have expected (or hoped...) that MyTestAppJava could 'see' (or automatically references...), the java projects in the SharedResources Library (SharedResourcesJava). This did not seem to happen. |
"See" them in the Toolkit?
Or "See" them in the Runtime? |
|
Back to top |
|
 |
McueMart |
Posted: Tue Aug 28, 2012 7:43 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
See them in the toolkit. I appreciate the are packaged up correctly in the runtime. |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Aug 28, 2012 7:59 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Edit: forget what I just said (that you can't see anyway).
ReEdit:
The build path for a Java project is not affected by it's membership in an application or a library. At least as of this writing.
Last edited by mqjeff on Tue Aug 28, 2012 8:43 am; edited 1 time in total |
|
Back to top |
|
 |
McueMart |
Posted: Tue Aug 28, 2012 8:02 am Post subject: |
|
|
 Chevalier
Joined: 29 Nov 2011 Posts: 490 Location: UK...somewhere
|
Yes thats the way I figured out that it works currently. Its not an issues once you now why your code isnt compiling, but doing that initial problem determination step may not be trivial for those not savvy with eclipse. |
|
Back to top |
|
 |
goffinf |
Posted: Tue Aug 28, 2012 9:42 am Post subject: |
|
|
Chevalier
Joined: 05 Nov 2005 Posts: 401
|
mqjeff wrote: |
Fraser - I would not expect the behavior you are seeing. A library that contains only .subflow and esql files should be fully compilable and buildable, and should be separately deployable in and of itself. Can you confirm that if you merely drag&drop the library, you get a successful deploy with the correct resources? |
Hi Jeff,
well, after a bit more experimentation, I *can* confirm the the Library did (eventually) deploy separately into the default application. I say eventually because at first I got a whole slew of errors followed by an abend and core dump !!. The errors (and there was one for every ESQL file in the library) looked like this (note the type 'beed' which I assume should be 'be') :-
Code: |
( MB8BROKER.test ) Message broker internal error: diagnostic information ''Replacing esql file which should already beed removed.'', ''C:\Documents and Settings\All Users\Application Data\IBM\MQSI\components\MB8BROKER\6173ff5d-3901-0000-0080-aee16d686b1c\config\ESQL\SOACommon2.mqsiLibrary\com/aviva/messagebroker/soacommon/log/LogInterface.esql''.
...
|
The abend showed :-
Code: |
---> Inserts <---
An Unhandled Exception detected in process 2828, on thread 0x85C.
Type: EXCEPTION_ACCESS_VIOLATION (C0000005).
Address: 001B:0079D532.
The thread could not write to memory address 0x00000000.
---> Last Errors <---
Note these error codes are not necessarily reliable
GetLastError() returned: 0
errno returned: 0
...
---> Stack dump for the faulting thread (0x85C), with malloc disallowed. <---
Registers:
EAX=0x00000000 EBX=0x00000004 ECX=0x00000000 EDX=0x0086BD64
ESI=0x1656FDB8 EDI=0x00000000 EIP=0x0079D532 ESP=0x19CAE758
EBP=0x19CAECC0 EFlags=0x00010213
CS=0x001B DS=0x0023 SS=0x0023 ES=0x0023 FS=0x003B GS=0x0000
|
which probably isn't all that helpful.
Anyway, I manually removed the files that the errors were complaining about, and hey presto the Library deployed fine.
However, ....
after the abend, I removed the EXISTING subflows and creates a new and extremely simple one from scratch, .. just :-
Input -> Compute --> Output
I did that because this library was a previous v6.1 MessageFlow project that I imported then CONVERTED to a Library (we are in the process of migrating and I'm doing some early sighting for any issues we might face).
So next I put back in just ONE of the converted subflows (and it is also pretty simple, it has several Input nodes each with a corresponding Passthru, and a single output.
Now I'm back where I was, which is, when I create the BAR, its empty.
So I guess it must have something to do with the conversion. Tomorrow I'll rebuild the subflow from scratch and see how I get on.
I'll post back if I have success (or otherwise)
Any other suggestions/thoughts welcome
Regards
Fraser. |
|
Back to top |
|
 |
goffinf |
Posted: Wed Aug 29, 2012 1:22 am Post subject: |
|
|
Chevalier
Joined: 05 Nov 2005 Posts: 401
|
An update from this mornings experiments.
It appears that the culprit here was ONE of the THREE subflows that I converted.
This particular subflow was has monitoring events applied to a number of nodes.
On closer comparison of the .subflow XML of the converted flow to my newly created subflow I noted this additional element which relates to Filtering (a new feature that isn't present in 6.1)
Code: |
<eventFilter dataLocation="true()" isXPath="true"/>
|
The above is just the default filter which evaluates to TRUE (as must all filter expressions).
Adding this to my converted subflow in all the places required resolved the issue (i.e. the BAR file creation worked correctly). I can toggle the behaviour (BAR file empty <-> BAR with resource) by simply commenting and uncommenting these elements.
Another gotcha to add to our list of migration tasks.
Hope this helps others who might spot the same behaviour
Fraser. |
|
Back to top |
|
 |
|