On Aug 20, 2004, at 3:16 PM, Sean Corfield wrote:

> On Fri, 20 Aug 2004 09:44:04 -0700, Dick Applebaum
> <[EMAIL PROTECTED]> wrote:
>  > JMS, in particular is dependent on the implementation of the
> specific
>  > JMS provider.��(JBoss, JRun, IBM, etc all have different
> interfaces).
>
>  That isn't really true: if you program against the javax.jms
>  specification you will be able to write portable JMS consumer /
>  publisher code.

I have looked at that and a lot of other JMS-related articles, from
what I have been able to determine the specifications are pretty
specific on the message format and interfaces to the provider.  Other
than that, it is left to the implementor.  And, it appears that each
implementation has its own nuances and extra features (that provide
advantage over the competition).

In a way, it is analogous to the SQL specification(s) and
implementations -- not all db implementations have transactions,
subselects, autonumbering, etc. and/or the soecify these in different
ways (identity, auto_number, etc).

For someone new to the territory it is difficult to determine where the
"specification" leaves off and the vendor-specific implementation
begins.

Examples of my current frustration:

1) I can't make anything work on JRUn JMS
2) OpenJMS has some very nice, working examples, with source (and a lot
of proprietary jars).  These run fine on OpenJMS but I have been
unsuccessful porting any of them to JRun
3) There is a very nice Open-Source JMS Browse/Administrator that works
with ActiveMQ, JBossMQ, and Websphere MQ -- but according to the
forums, others, more expert than I have had little success running on
other JMS systems (I tried on OpenJMS without success)

So, what you stated above ("if you program against the javax.jms spec")
you will likely have compatibility -- but it seems that very few people
do!

To illustrate this:

lifted from the livedocs JRun JMS code fragment:

private String providerurl = new String("localhost:2918");

lifted from an OpenJMS code fragment:

int jndiPort = 1099;
String jndiHost = "localhost";

I realize that these are examples. meant to illustrate the code, rather
than getting params from a config file -- but a newbie usually starts
with examples like these and they have built-in incompatibilities and
bad coding practices  -- and, I guess the newbie is supposed to
intuitively know this.

I know that OpenJMS works -- I am running it.

I assume that JRun JMS works, but cannot find any program that will run
on JRunJMS (Macromedia & Google searches Plus my own feeble attempts to
complete the code fragment or port OpenJMS examples.)

My frustration, was the reason that I wrote the above paragraph in the
context of lobbying for source to the Macromedia-supplied event gateway
examples.

>  > But, I cannot find any workable JRun JMS examples.
>
>  The examples in the docs are fragments. I used those examples with
>  only small additions to write code that works on JRun and Fiorano MQ
>  without any changes (only the config file changes, specifying the
>  vendor-specific class names used for context factories etc).
>

Yeah, but you know what you're doing :).

Dick
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]

Reply via email to