|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Broker Schemas |
« View previous topic :: View next topic » |
Author |
Message
|
moogoo |
Posted: Fri Jun 22, 2007 10:54 am Post subject: Broker Schemas |
|
|
Acolyte
Joined: 20 Sep 2002 Posts: 54 Location: US
|
Hi All,
I'm in the process of trying to consolidate all of our database function calls into a single repository that would be held in a separate project. This would help us create, in essence, a library that would hold any common resources that could be reusable again at some point in the future. Unfortunately, I'm running into some Broker Schema issues that I can't seem to get around.
Here's the rundown:
We have 2 existing projects that would like to make use of this library but they reside in different schemas...one uses the default and the other in a user created one...let's call it "ABC". So what I did was to create a separate project called "Library" that would contain ESQL files that would hold these commonly used function calls. This was done in the default Broker schema. When I finished however, the project with Broker Schema of "ABC" that has code to call one of these functions, failed to deploy stating that it could not find a path to the details of the function call. This made sense in retrospect since I'd assume that they'd have to be in the same Broker Schema, even if they were in separate projects. The other project that resided in the default Broker Schema, had no such issues calling the function and it deployed and processed messages with no problems.
What I did next was to create another Broker Schema of "ABC" (along with adding the Broker Schema keyword on the top of the ESQL) within the Library project and essentially duplicated the ESQL files from the default Broker Schema so that there was a copy of the ESQL files in both the default and "ABC" Broker Schema. I figured that anything needing to call a function that was in the default Broker Schema would be able to reach the function call in the default Broker Schema under the Library project and the same would be true if something was calling from Broker Schema of "ABC" to the Library project which now had the "ABC" Broker Schema.
Unfortunately, this also appears not be working as the calling instance in the "ABC" Broker Schema complains that there are now duplicate instances of the function and does not know which to call. This is actually a Toolkit error (not a deploy issue as above). It appears to be catching this particular error up front and its a bit confusing because in order to complain that there are duplicate function signatures, its recognizing the Library ESQL in the default Broker Schema now when it was not doing so on my first try around (that was caught in the deploy). So I'm a bit at a loss now on how to get around this.
I did a search through the forums and have seen some discussion on Broker Schemas, but couldn't find a clear answer in regards to this. Hope someone on here could be of help.
Thanks in advance,
MG |
|
Back to top |
|
 |
jefflowrey |
Posted: Fri Jun 22, 2007 10:57 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You should really put as little as possible into the default schema.
Basically, everything that's in the default schema gets included with every node that uses ESQL...
Otherwise, as always the way to resolve problems deciding between equivalent functions in namespaces is to qualify the function with a namespace... _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
moogoo |
Posted: Tue Jun 26, 2007 5:36 am Post subject: |
|
|
Acolyte
Joined: 20 Sep 2002 Posts: 54 Location: US
|
Got it, thanks Jeff. I'm going to have to rethink how we make use of Broker Schemas and what goes into them.
Thanks again!
MG |
|
Back to top |
|
 |
mehedi |
Posted: Tue Jun 26, 2007 7:51 am Post subject: Call to fucntion in default schema |
|
|
Centurion
Joined: 11 Nov 2001 Posts: 102 Location: PSTech
|
MG,
As jeff mentioned , "the default schema gets included with every node that uses ESQL". Accordingly the call to any of the default schema routines from the project(message flow) which includes Broker Schema ABC should not have failed.
Does this mean if the project(message flow) includes a Broker schema other than the defaul broker schema , a schema id needs to be used to call routines in the default broker schema. ?
Could you try adding a PATH clause to the default broker schema ? Then see if the call works with the schema id specified in the PATH clause.
Here is the excerpt from the manual on how to add path to a schema ,
=====
The following example adds a path to a schema called CommonUtils:
BROKER SCHEMA CommonUtils
PATH SpecialUtils;
MODULE ....
The next example adds a path to the default schema:
PATH CommonUtils, SpecialUtils;
MODULE ....
=======
Regards
Mehedi |
|
Back to top |
|
 |
moogoo |
Posted: Wed Jun 27, 2007 6:27 am Post subject: |
|
|
Acolyte
Joined: 20 Sep 2002 Posts: 54 Location: US
|
Thank mehedi...I'll do a read up on the PATH option for Broker Schemas...
MG |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|