Sybase NNTP forums - End Of Life (EOL)

The NNTP forums from Sybase - forums.sybase.com - are now closed.

All new questions should be directed to the appropriate forum at the SAP Community Network (SCN).

Individual products have links to the respective forums on SCN, or you can go to SCN and search for your product in the search box (upper right corner) to find your specific developer center.

QAnywhere JMS Examples

5 posts in QAnywhere Last posting was on 2004-08-25 12:40:43.0Z
Ken Posted on 2004-08-11 16:08:43.0Z
From: Ken <wgold@nospam.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040323
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: ianywhere.public.sqlanywhere.qanywhere
Subject: QAnywhere JMS Examples
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 204.60.66.146
X-Original-NNTP-Posting-Host: 204.60.66.146
Message-ID: <411a448b$1@forums-1-dub>
Date: 11 Aug 2004 09:08:43 -0700
X-Trace: forums-1-dub 1092240523 204.60.66.146 (11 Aug 2004 09:08:43 -0700)
X-Original-Trace: 11 Aug 2004 09:08:43 -0700, 204.60.66.146
Lines: 13
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.sqlanywhere.qanywhere:6
Article PK: 18744

Are there any examples on this technology?

I keep reading news releases and press blurbs, but haven't yet found a
solid source of information for DEVELOPERS on how to use this subsystem.

Any example pointers and HOW-TO links would be helpful to everyone I
think, Sybase, in order to front load this product offering.

For myself -- I have A JMS server running and would LOVE to use this
feature to allow the database and my JMS server to interract.... But -- HOW?

Ken


Ken M Posted on 2004-08-11 16:59:32.0Z
From: Ken M <wgold_NOSPAM@flyingplastic.com>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.2) Gecko/20040323
X-Accept-Language: en-us, en
MIME-Version: 1.0
Newsgroups: ianywhere.public.sqlanywhere.qanywhere
Subject: Re: QAnywhere JMS Examples
References: <411a448b$1@forums-1-dub>
In-Reply-To: <411a448b$1@forums-1-dub>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 204.60.66.146
X-Original-NNTP-Posting-Host: 204.60.66.146
Message-ID: <411a5074$1@forums-1-dub>
Date: 11 Aug 2004 09:59:32 -0700
X-Trace: forums-1-dub 1092243572 204.60.66.146 (11 Aug 2004 09:59:32 -0700)
X-Original-Trace: 11 Aug 2004 09:59:32 -0700, 204.60.66.146
Lines: 21
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.sqlanywhere.qanywhere:7
Article PK: 10411

You can reply to me at wgold at flyingplastic dot com.

Ken

Ken wrote:
> Are there any examples on this technology?
>
> I keep reading news releases and press blurbs, but haven't yet found a
> solid source of information for DEVELOPERS on how to use this subsystem.
>
> Any example pointers and HOW-TO links would be helpful to everyone I
> think, Sybase, in order to front load this product offering.
>
> For myself -- I have A JMS server running and would LOVE to use this
> feature to allow the database and my JMS server to interract.... But --
> HOW?
>
> Ken
>


Chris Keating (iAnywhere Solutions) Posted on 2004-08-12 19:03:32.0Z
From: "Chris Keating \(iAnywhere Solutions\)" <Spam_NoThanks_keating@iAnywhere.com>
Newsgroups: ianywhere.public.sqlanywhere.qanywhere
References: <411a448b$1@forums-1-dub>
Subject: Re: QAnywhere JMS Examples
Lines: 29
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
NNTP-Posting-Host: keating-xp2.sybase.com
X-Original-NNTP-Posting-Host: keating-xp2.sybase.com
Message-ID: <411bbf04@forums-1-dub>
Date: 12 Aug 2004 12:03:32 -0700
X-Trace: forums-1-dub 1092337412 10.25.100.248 (12 Aug 2004 12:03:32 -0700)
X-Original-Trace: 12 Aug 2004 12:03:32 -0700, keating-xp2.sybase.com
X-Authenticated-User: techsupp
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.sqlanywhere.qanywhere:10
Article PK: 10413

Have you reviewed the product documentation which covers this topic in
detail?

See the following documentation reference for JMS messaging specific
information and the full users guide for a complete understanding of its
use.

QAnywhere User's Guide
Running MobiLink with Messaging
Running MobiLink with messaging and a JMS Connector

"Ken" <wgold@nospam.com> wrote in message news:411a448b$1@forums-1-dub...
> Are there any examples on this technology?
>
> I keep reading news releases and press blurbs, but haven't yet found a
> solid source of information for DEVELOPERS on how to use this subsystem.
>
> Any example pointers and HOW-TO links would be helpful to everyone I
> think, Sybase, in order to front load this product offering.
>
> For myself -- I have A JMS server running and would LOVE to use this
> feature to allow the database and my JMS server to interract.... But --
HOW?
>
> Ken
>


Shannon White Posted on 2004-08-20 19:26:57.0Z
From: "Shannon White" <shannon.white@sybase.com>
Newsgroups: ianywhere.public.sqlanywhere.qanywhere
References: <411a448b$1@forums-1-dub>
Subject: Re: QAnywhere JMS Examples
Lines: 155
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1409
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
NNTP-Posting-Host: srwhite-pc2.sybase.com
X-Original-NNTP-Posting-Host: srwhite-pc2.sybase.com
Message-ID: <41265081$1@forums-1-dub>
Date: 20 Aug 2004 12:26:57 -0700
X-Trace: forums-1-dub 1093030017 10.25.99.249 (20 Aug 2004 12:26:57 -0700)
X-Original-Trace: 20 Aug 2004 12:26:57 -0700, srwhite-pc2.sybase.com
X-Authenticated-User: techsupp
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.sqlanywhere.qanywhere:16
Article PK: 18751

Our documentation is less than comprehensive when it comes to actually
sending messages between JMS and QAnywhere. These inadequacies are being
addressed in the 9.0.2 release.

"Ken" <wgold@nospam.com> wrote in message news:411a448b$1@forums-1-dub...
> Are there any examples on this technology?
>
> I keep reading news releases and press blurbs, but haven't yet found a
> solid source of information for DEVELOPERS on how to use this subsystem.
>
> Any example pointers and HOW-TO links would be helpful to everyone I
> think, Sybase, in order to front load this product offering.
>
> For myself -- I have A JMS server running and would LOVE to use this
> feature to allow the database and my JMS server to interract.... But --
HOW?
>
> Ken
>

As an aside, both Sybase database products, ASA and ASE, have Java support
in stored procedures. Which means that you may be able to send a JMS
message directly from a stored procedure. I say "may" because it really
depends on the JMS driver. I believe ASA currently supports up to jdk1.3.1,
so if the driver requires jdk1.4 support you may not be able to use the
driver. I, myself, successfully sent a JMS message from a stored procedure
a few years ago using ASA and EAServer's JMS.

Here's some additional documentation on JMS with QAnywhere:

Addressing QAnywhere messages meant for JMS

A QAnywhere client can send a message to JMS by setting the address to
"<connector address>\<JMS Destination>". The <connector address> is the
value of the connector property ianywhere.connector.id, while <JMS
Destination> is the name used to lookup the JMS Queue or Topic using JNDI
the Java Naming and Directory Interface.

For example, if the ianywhere.connector.address is set to
"ianywhere.connector.jagjms" and the JMS Queue name is "myqueue" then the
code to set the address would be

C#

QAManagerBase mgr;
QAMessage msg;
// Initialize the manager
...
msg = mgr.CreateTextMessage();
// Set the message content
...
mgr.PutMessage( "ianywhere.connector.jagjms\\myqueue", msg );

C++

QAManagerBase *mgr;
QATextMessage *msg;
// Initialize the manager
...
msg = mgr.createTextMessage();
// Set the message content
...
mgr->putMessage( "ianywhere.connector.jagjms\\myqueue", msg );

Mapping QAnywhere messages onto JMS messages

QAnywhere messages are mapped naturally onto JMS messages. A QATextMessage
maps naturally with a javax.jms.TextMessage. A QABinaryMessage maps
naturally with a javax.jms.BytesMessage. javax.jms.MapMessage,
StreamMessage, and ObjectMessage are not supported.

Mappings between JMS and QAnywhere message builtin headers:

Only the JMS part of the QAnywhere address is mapped to the JMS Destination.
Under rare circumstances, in the case of a message looping back into
QAnywhere, there may be an additional QAnywhere address suffix. This
additional addressing is put in ias_ToAddress.

QAnywhere Expiration maps one-to-one with JMS Expiration

QAnywhere InReplyToID maps one-to-one with JMS CorrelationID

QAnywhere Priority maps one-to-one with JMS Priority

QAnywhere Redelivered, MessageID, and Timestamp are not mapped.

The QAnywhere ReplyToAddress is mapped to the JMS property
ias_ReplyToAddress.

The JMS connector's xjms.receiveDestination property value is mapped to the
JMS ReplyTo.

QAnywhere properties are all mapped naturally to JMS properties, preserving
type. There's one exception. If the QAnywhere message has a property called
JMSType, then this is mapped to the JMS header property JMSType.

Addressing JMS messages meant for QAnywhere

A JMS client can send a message to a QAnywhere client by setting the JMS
message property ias_ToAddress to the QAnywhere address, and then sending
the message to the JMS Destination corresponding to the connector property
xjms.receiveDestination. For example to send a message to the QAnywhere
address "someclient\qaddr" (where the connector setting of
xjms.receiveDestination is "ianywhere.connector.jms_receive"):

import javax.jms.*;
...
try {
QueueSession session;
QueueSender sender;
TextMessage mgr;
Queue connectorQueue;
// Initialize the session
...
connectorQueue = session.createQueue( "ianywhere.connector.jms_receive" );
sender = session.createSender( connectorQueue );
msg = session.createTextMessage();
msg.setStringProperty( "ias_ToAddress", "someclient\\qaddr" );
// Set the message content
...
sender.send( msg );
} catch( JMSException e ) {
// Handle the exception
...
}

Mapping JMS messages onto QAnywhere messages

QAnywhere messages are mapped naturally onto JMS messages.

The JMS Destination, Redelivered, DeliveryMode, MessageID and Timestamp are
not mapped to the QAnywhere message.

The JMS Expiration, Priority, CorrelationID are mapped one-to-one to the
QAnywhere Expiration, Priority and InReplyToID.

The JMS ReplyTo and connector's ianywhere.connector.address property value
are mapped to the QAnywhere ReplyToAddress The connector address is
concatenated with the JMS ReplyTo Destination name delimited by '\'.

The JMS Type is mapped to the QAnywhere message property JMSType

JMS properties

JMS properties are all mapped naturally to QAnywhere properties, preserving
type. There's a few exceptions. The QAnywhere Address property is set from
the value of the JMS message property "ias_ToAddress". If the JMS message
property "ias_ReplyToAddress" is set then the QAnywhere ReplyToAddress is
additionally suffixed with this value delimited by a '\'.

Shannon White
iAnywhere Solutions
Sybase


Ola Gunnars Posted on 2004-08-25 12:40:43.0Z
From: "Ola Gunnars" <gunnars@sybase.com>
Newsgroups: ianywhere.public.sqlanywhere.qanywhere
References: <411a448b$1@forums-1-dub> <41265081$1@forums-1-dub>
Subject: Re: QAnywhere JMS Examples
Lines: 172
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-RFC2646: Format=Flowed; Original
NNTP-Posting-Host: ppcola.sybase.com
X-Original-NNTP-Posting-Host: ppcola.sybase.com
Message-ID: <412c88cb$2@forums-1-dub>
Date: 25 Aug 2004 05:40:43 -0700
X-Trace: forums-1-dub 1093437643 158.76.112.124 (25 Aug 2004 05:40:43 -0700)
X-Original-Trace: 25 Aug 2004 05:40:43 -0700, ppcola.sybase.com
X-Authenticated-User: techsupp
Path: forums-1-dub!not-for-mail
Xref: forums-1-dub ianywhere.public.sqlanywhere.qanywhere:20
Article PK: 10420

Any prerelease doc's ?
/Ola

"Shannon White" <shannon.white@sybase.com> wrote in message
news:41265081$1@forums-1-dub...
> Our documentation is less than comprehensive when it comes to actually
> sending messages between JMS and QAnywhere. These inadequacies are being
> addressed in the 9.0.2 release.
>
> "Ken" <wgold@nospam.com> wrote in message news:411a448b$1@forums-1-dub...
>> Are there any examples on this technology?
>>
>> I keep reading news releases and press blurbs, but haven't yet found a
>> solid source of information for DEVELOPERS on how to use this subsystem.
>>
>> Any example pointers and HOW-TO links would be helpful to everyone I
>> think, Sybase, in order to front load this product offering.
>>
>> For myself -- I have A JMS server running and would LOVE to use this
>> feature to allow the database and my JMS server to interract.... But --
> HOW?
>>
>> Ken
>>
>
> As an aside, both Sybase database products, ASA and ASE, have Java support
> in stored procedures. Which means that you may be able to send a JMS
> message directly from a stored procedure. I say "may" because it really
> depends on the JMS driver. I believe ASA currently supports up to
> jdk1.3.1,
> so if the driver requires jdk1.4 support you may not be able to use the
> driver. I, myself, successfully sent a JMS message from a stored
> procedure
> a few years ago using ASA and EAServer's JMS.
>
> Here's some additional documentation on JMS with QAnywhere:
>
> Addressing QAnywhere messages meant for JMS
>
> A QAnywhere client can send a message to JMS by setting the address to
> "<connector address>\<JMS Destination>". The <connector address> is the
> value of the connector property ianywhere.connector.id, while <JMS
> Destination> is the name used to lookup the JMS Queue or Topic using JNDI
> the Java Naming and Directory Interface.
>
> For example, if the ianywhere.connector.address is set to
> "ianywhere.connector.jagjms" and the JMS Queue name is "myqueue" then the
> code to set the address would be
>
> C#
>
> QAManagerBase mgr;
> QAMessage msg;
> // Initialize the manager
> ...
> msg = mgr.CreateTextMessage();
> // Set the message content
> ...
> mgr.PutMessage( "ianywhere.connector.jagjms\\myqueue", msg );
>
> C++
>
> QAManagerBase *mgr;
> QATextMessage *msg;
> // Initialize the manager
> ...
> msg = mgr.createTextMessage();
> // Set the message content
> ...
> mgr->putMessage( "ianywhere.connector.jagjms\\myqueue", msg );
>
> Mapping QAnywhere messages onto JMS messages
>
> QAnywhere messages are mapped naturally onto JMS messages. A
> QATextMessage
> maps naturally with a javax.jms.TextMessage. A QABinaryMessage maps
> naturally with a javax.jms.BytesMessage. javax.jms.MapMessage,
> StreamMessage, and ObjectMessage are not supported.
>
> Mappings between JMS and QAnywhere message builtin headers:
>
> Only the JMS part of the QAnywhere address is mapped to the JMS
> Destination.
> Under rare circumstances, in the case of a message looping back into
> QAnywhere, there may be an additional QAnywhere address suffix. This
> additional addressing is put in ias_ToAddress.
>
> QAnywhere Expiration maps one-to-one with JMS Expiration
>
> QAnywhere InReplyToID maps one-to-one with JMS CorrelationID
>
> QAnywhere Priority maps one-to-one with JMS Priority
>
> QAnywhere Redelivered, MessageID, and Timestamp are not mapped.
>
> The QAnywhere ReplyToAddress is mapped to the JMS property
> ias_ReplyToAddress.
>
> The JMS connector's xjms.receiveDestination property value is mapped to
> the
> JMS ReplyTo.
>
> QAnywhere properties are all mapped naturally to JMS properties,
> preserving
> type. There's one exception. If the QAnywhere message has a property
> called
> JMSType, then this is mapped to the JMS header property JMSType.
>
> Addressing JMS messages meant for QAnywhere
>
> A JMS client can send a message to a QAnywhere client by setting the JMS
> message property ias_ToAddress to the QAnywhere address, and then sending
> the message to the JMS Destination corresponding to the connector property
> xjms.receiveDestination. For example to send a message to the QAnywhere
> address "someclient\qaddr" (where the connector setting of
> xjms.receiveDestination is "ianywhere.connector.jms_receive"):
>
> import javax.jms.*;
> ...
> try {
> QueueSession session;
> QueueSender sender;
> TextMessage mgr;
> Queue connectorQueue;
> // Initialize the session
> ...
> connectorQueue = session.createQueue( "ianywhere.connector.jms_receive" );
> sender = session.createSender( connectorQueue );
> msg = session.createTextMessage();
> msg.setStringProperty( "ias_ToAddress", "someclient\\qaddr" );
> // Set the message content
> ...
> sender.send( msg );
> } catch( JMSException e ) {
> // Handle the exception
> ...
> }
>
> Mapping JMS messages onto QAnywhere messages
>
> QAnywhere messages are mapped naturally onto JMS messages.
>
> The JMS Destination, Redelivered, DeliveryMode, MessageID and Timestamp
> are
> not mapped to the QAnywhere message.
>
> The JMS Expiration, Priority, CorrelationID are mapped one-to-one to the
> QAnywhere Expiration, Priority and InReplyToID.
>
> The JMS ReplyTo and connector's ianywhere.connector.address property value
> are mapped to the QAnywhere ReplyToAddress The connector address is
> concatenated with the JMS ReplyTo Destination name delimited by '\'.
>
> The JMS Type is mapped to the QAnywhere message property JMSType
>
> JMS properties
>
> JMS properties are all mapped naturally to QAnywhere properties,
> preserving
> type. There's a few exceptions. The QAnywhere Address property is set
> from
> the value of the JMS message property "ias_ToAddress". If the JMS message
> property "ias_ReplyToAddress" is set then the QAnywhere ReplyToAddress is
> additionally suffixed with this value delimited by a '\'.
>
> Shannon White
> iAnywhere Solutions
> Sybase
>
>