Re: STOMP and JMSType

2006-06-14 Thread James Strachan

On 6/13/06, Nathan Mittler [EMAIL PROTECTED] wrote:

So it sounds like we're all in agreement on the content-type header.  For
text, it would be something like text


There could be a few values of Content-type which map to text
(text/xml, application/soap, application/xml etc).

Incidentally the default implementation for sending an ObjectMessage /
MapMessage to a Stomp client could be to use XStream to turn it into
XML and mark it as text/xml. Otherwise its gonna be extremely hard for
a typical Stomp client to read the message.



and for bytes it would be
application/octet-stream.  So this would not be an application-level
header, but would be used by my stomp client code to determine which message
type to create.

If we're all in agreement with that, then it seems to make sense that the
default functionality of the broker be modified to handle content-type in
this way.

And if that's true, then it seems like this particular issue is resolved.
This way, we get it into the 4.1 release with no problems.  We can create
another issue to do the refactoring as you've suggested ... which will
probably take a little more time and several conversations to get right.

How does this sound?


Sounds great.
--

James
---
http://radio.weblogs.com/0112098/


Re: STOMP and JMSType

2006-06-14 Thread Hiram Chirino

On 6/14/06, Brian McCallister [EMAIL PROTECTED] wrote:

On Jun 13, 2006, at 3:06 PM, Nathan Mittler wrote:

 So it sounds like we're all in agreement on the content-type
 header.  For
 text, it would be something like text and for bytes it would be
 application/octet-stream.  So this would not be an application-level
 header, but would be used by my stomp client code to determine
 which message
 type to create.

Content-type is application level. I was suggesting it for your use
case where you want to know what to convert a bytes message into in
your C++ library =)



Agreed! the app in this use case is the C++ client lib.  so the c++
client lib could set the content-type to control a custom transformer
so that sent JMS messages are exactly as the C++ stomp lib wants them
to look like.

So I'm starting to think there are 2 main use cases:

1) I want to have portable STOMP client that work on other providers.
Then you accept that you can not tightly integrate with an existing
JMS network in a portable way.  For example they would not be able to
send and receive JMS Map messages.  Since stomp does not specify what
those messages would look like on the wire.  This means that STOMP
needs to define how a portable mapping of JMS ByteMessage and
TextMessage to STOMP Messages.  I think what we have today is very
close to this.  We may just need to formalize it a little more in a
document so that other providers could implement the same STOMP to JMS
mapping.  Of course, this mapping has to stay simple.

2) You have a STOMP client that does not mind intimately knowing about
ActiveMQ.  Then it can request transformation on the the send and
receives.  That transformation could totally change all the STOMP
rules about the headers for for the messages coming in and out.   It
might use the content-type to hold the JMS message type: bytes, text,
object, map, etc.  and other headers like jms.Type to hold the JMSType
headers.  Also the payload encoding could be fancier.

So by default, I think it should work like case #1, if you want to use
case#2, then you use the transform header options.  This gives us
backward compatibility but for your  C++ stomp client that exposes a
JMS like API use case, I would think it falls under use case #2.

Also, as offshoot idea on #2, is a provider allowed able to expose
additional verbs/operations to clients?  Kinda like how SVN/DAV does
for HTTP?


 If we're all in agreement with that, then it seems to make sense
 that the
 default functionality of the broker be modified to handle content-
 type in
 this way.

No. activemq-transformer would provide the JMS type mapping to
override the default.

I suggested that you use content-type (not required by stomp) to
decide if something is text or a byte stream. Transfer-encoding is
also useful for this.

:-)

 And if that's true, then it seems like this particular issue is
 resolved.
 This way, we get it into the 4.1 release with no problems.  We can
 create
 another issue to do the refactoring as you've suggested ... which will
 probably take a little more time and several conversations to get
 right.

 How does this sound?

 Nate

 On 6/13/06, Brian McCallister [EMAIL PROTECTED] wrote:

 On Jun 13, 2006, at 1:50 PM, Nathan Mittler wrote:

  Could you guys point me to a place in AMQ where this sort of thing
  is being
  done?  That would save me a lot of searching =)
 
  I'm viewing this problem from the client side - the Stomp C++
  client that
  Tim Bish and I are writing currently supports text and bytes
 messages.

 Within a general Stomp client, I would suggest that switching on JMS
 message types is not a productive goal. Using Content-type here makes
 a lot more sense, I think. . It would make a lot of sense to set it
 for text messages going out to Stomp if there is not one already
 supplied.

 Stomp is a protocol, like HTTP or SMTP -- hardwiring a client to a
 specific server implementation is probably not a general solution
 (though is fine if it is specifically an activemq client which
 happens to use stomp for transport).

  So when I get a stomp frame in, I need to map it back to a text or
  bytes
  message.  We chose to do this for a couple of reasons: 1) to give
  JMS users
  a familiar interface and 2) to provide a simple interface for
  reading and
  writing text messages (e.g. xml).

 Content-type: text/xml

 --

 Content-type: application/octet-stream

  With that said, I'm not seeing how I can do that mapping if the
  transformer
  is provided only in the SUBSCRIBE.  A client could potentially get
  a variety
  of message types from a single subscription.  I think it would have
  to be
  part of the MESSAGE frame, rather than the SUBSCRIBE.

 SUBSCRIBE
 activemq-transformer: com.example.ContentTypeMapper

  Here are the use cases I see:

 s/transformer/activemq-transformer/g

 I like the namespace.

  Client-Server
  1) SEND\n...\ntransformer:text (client tells server it's a text
  message)

 +1

  2) 

Re: STOMP and JMSType

2006-06-14 Thread Hiram Chirino

On 6/14/06, Mittler, Nathan [EMAIL PROTECTED] wrote:



 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Hiram
 Chirino
 Sent: Wednesday, June 14, 2006 12:40 PM
 To: activemq-dev@geronimo.apache.org
 Subject: Re: STOMP and JMSType

 On 6/14/06, Brian McCallister [EMAIL PROTECTED] wrote:
  On Jun 13, 2006, at 3:06 PM, Nathan Mittler wrote:
 
   So it sounds like we're all in agreement on the content-type
   header.  For
   text, it would be something like text and for bytes it would be
   application/octet-stream.  So this would not be an
application-level
   header, but would be used by my stomp client code to determine
   which message
   type to create.
 
  Content-type is application level. I was suggesting it for your use
  case where you want to know what to convert a bytes message into in
  your C++ library =)
 

 Agreed! the app in this use case is the C++ client lib.  so the c++
 client lib could set the content-type to control a custom transformer
 so that sent JMS messages are exactly as the C++ stomp lib wants them
 to look like.

Ok, so application-level is referring to the C++ library, not the user
of the library?  If so that eliminates the need for another header like
amq-msg-type.

How do we make this become part of the stomp spec?  When we do, we
should define the list of valid values for it (e.g. text and bytes).



So here's a link to everything that is in the spec currently:
http://stomp.codehaus.org/Protocol

It's a WIKI so you can edit it and improve the spec.  I think that a
the big missing piece in the spec is that there is no specification of
how STOMP messages get mapped to JMS messages.  Since this is missing,
there is no provider independent way of sending JMS messages from
STOMP.  Since every implementation could map a STOMP message to JMS
messages differently.

I think we need to add a STOMP Message to JMS Message Mapping
section that providers SHOULD comply with if the provider also
implements a JMS interface.  The great part is since this is missing,
you can make this whatever you want!



 So I'm starting to think there are 2 main use cases:

 1) I want to have portable STOMP client that work on other providers.
 Then you accept that you can not tightly integrate with an existing
 JMS network in a portable way.  For example they would not be able to
 send and receive JMS Map messages.  Since stomp does not specify what
 those messages would look like on the wire.  This means that STOMP
 needs to define how a portable mapping of JMS ByteMessage and
 TextMessage to STOMP Messages.  I think what we have today is very
 close to this.  We may just need to formalize it a little more in a
 document so that other providers could implement the same STOMP to JMS
 mapping.  Of course, this mapping has to stay simple.

 2) You have a STOMP client that does not mind intimately knowing about
 ActiveMQ.  Then it can request transformation on the the send and
 receives.  That transformation could totally change all the STOMP
 rules about the headers for for the messages coming in and out.   It
 might use the content-type to hold the JMS message type: bytes, text,
 object, map, etc.  and other headers like jms.Type to hold the JMSType
 headers.  Also the payload encoding could be fancier.

 So by default, I think it should work like case #1, if you want to use
 case#2, then you use the transform header options.  This gives us
 backward compatibility but for your  C++ stomp client that exposes a
 JMS like API use case, I would think it falls under use case #2.


So right now, I'm just concerned with #1.  I'd like to make the first
crack at our client as STOMP vendor independent as possible ... and
we're only doing text and bytes messages for the first cut.



Ok great!


If we're in agreement that the two use cases you've identified are two
separate JIRA issues, then we can just create a second JIRA for #2, and
I can go off and implement #1 in the broker.



Sure!


BTW, what is the timeframe for 4.1?



I like to aim for 1 month, and accept slipping a month or two :)

I would say it's mostly dependent on new feature progress and code stability.


 Also, as offshoot idea on #2, is a provider allowed able to expose
 additional verbs/operations to clients?  Kinda like how SVN/DAV does
 for HTTP?

   If we're all in agreement with that, then it seems to make sense
   that the
   default functionality of the broker be modified to handle content-
   type in
   this way.
 
  No. activemq-transformer would provide the JMS type mapping to
  override the default.
 
  I suggested that you use content-type (not required by stomp) to
  decide if something is text or a byte stream. Transfer-encoding is
  also useful for this.
 
  :-)
 
   And if that's true, then it seems like this particular issue is
   resolved.
   This way, we get it into the 4.1 release with no problems.  We can
   create
   another issue to do the refactoring as you've suggested ... which

[jira] Assigned: (AMQ-699) Add PropertyPlaceholderConfigurer to default activemq.xml

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-699?page=all ]

Hiram Chirino reassigned AMQ-699:
-

Assign To: Hiram Chirino

 Add PropertyPlaceholderConfigurer to default activemq.xml
 -

  Key: AMQ-699
  URL: https://issues.apache.org/activemq/browse/AMQ-699
  Project: ActiveMQ
 Type: Improvement

   Components: Broker
 Versions: 4.0 RC3, 4.0 RC2, 4.0 M4
 Reporter: Jason Dillon
 Assignee: Hiram Chirino
  Fix For: 4.0.1, 4.1



 The default activemq.xml should include a Spring 
 PropertyPlaceholderConfigurer to allow the activemq.home property to be used 
 to root directories.
 For example, this configuration will save data to $\{activemq.home}/var/data 
 always, no matter where the script was run from.
 {code:xml}
 beans xmlns=http://activemq.org/config/1.0;
 bean 
 class=org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
 property name=systemPropertiesModeName 
 value=SYSTEM_PROPERTIES_MODE_OVERRIDE/
 /bean
 broker useJmx=true
 persistenceAdapter
 journaledJDBC journalLogFiles=5 
 dataDirectory=${activemq.home}/var/data/
 /persistenceAdapter
 
 transportConnectors
 transportConnector name=default uri=tcp://localhost:16161 
 discoveryUri=multicast://default/
 /transportConnectors
 /broker
 /beans
 {code} 
 Also, the default Log4j configuration should be augmented to use this 
 property for the out appender:
 {code}
 # File appender
 log4j.appender.out=org.apache.log4j.RollingFileAppender
 log4j.appender.out.file=${activemq.home}/var/log/activemq.log
 log4j.appender.out.maxFileSize=1024KB
 log4j.appender.out.maxBackupIndex=5
 log4j.appender.out.append=true
 log4j.appender.out.layout=org.apache.log4j.PatternLayout
 log4j.appender.out.layout.ConversionPattern=%d [%-15.15t] %-5p %-30.30c{1} - 
 %m%n
 {code}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-658) allow support for 'remote destinations' allowing clients to send to /consume from a destination on a specified remote broker

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-658?page=all ]

Hiram Chirino updated AMQ-658:
--

Fix Version: 4.2

Might be a bit complex to implement.. putting this out for 4.2, perhpas someone 
will get interested in this issue and bump it up to 4.1?

 allow support for 'remote destinations' allowing clients to send to /consume 
 from a destination on a specified remote broker
 

  Key: AMQ-658
  URL: https://issues.apache.org/activemq/browse/AMQ-658
  Project: ActiveMQ
 Type: New Feature

   Components: Broker
 Reporter: james strachan
  Fix For: 4.2



 It could be the local broker A could talk to a remote broker B; so a client 
 on A talks to destination [EMAIL PROTECTED]
 Extra brownie points for broker A connected to B connected to C such that A 
 can't see C and sending to [EMAIL PROTECTED] on a client on A would make it 
 to C

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-657) FailoverTransport inhibits exception-listener and transport-listener

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-657?page=all ]

Hiram Chirino updated AMQ-657:
--

Component: (was: Connector)

Hi Kevin, could you re test this issue against 4.0 final?  The failover 
transport should bre reaisnt those interupted and resumed events now.

 FailoverTransport inhibits exception-listener and transport-listener
 

  Key: AMQ-657
  URL: https://issues.apache.org/activemq/browse/AMQ-657
  Project: ActiveMQ
 Type: Bug

 Versions: incubation
 Reporter: Kevin Yaussy



 When using failover, it looks to me like my ExceptionListener (set via 
 TopicConnection.setExceptionListener) gets removed, or at least never called 
 when there is an exception on the connection.  Additionally, I've tried using 
 the ActiveMQConnection.addTransportListener, and failover transport seems to 
 keep onException, transportInterupted and transportResumed from being called.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-543) TEST org.apache.activemq.broker.ft.QueueMasterSlaveTest FAILS

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-543?page=all ]

Hiram Chirino updated AMQ-543:
--

type: Test  (was: Bug)

 TEST org.apache.activemq.broker.ft.QueueMasterSlaveTest FAILS
 -

  Key: AMQ-543
  URL: https://issues.apache.org/activemq/browse/AMQ-543
  Project: ActiveMQ
 Type: Test

   Components: Test Cases
 Versions: 4.0 RC2
  Environment: winxp
 Reporter: Adrian Co
 Assignee: Adrian Co





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-544) TEST org.apache.activemq.broker.ft.TopicMasterSlaveTest FAILS

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-544?page=all ]

Hiram Chirino updated AMQ-544:
--

type: Test  (was: Bug)

 TEST org.apache.activemq.broker.ft.TopicMasterSlaveTest FAILS
 -

  Key: AMQ-544
  URL: https://issues.apache.org/activemq/browse/AMQ-544
  Project: ActiveMQ
 Type: Test

   Components: Test Cases
 Versions: 4.0 RC2
  Environment: winxp
 Reporter: Adrian Co
 Assignee: Adrian Co





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-746) JournalPersistenceAdapterGBean needs to resolve the persistence adapter directory via serverInfo.resolveServer

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-746?page=all ]

Hiram Chirino updated AMQ-746:
--

Fix Version: 3.2.5
 (was: 3.2.4)

 JournalPersistenceAdapterGBean needs to resolve the persistence adapter 
 directory via serverInfo.resolveServer
 --

  Key: AMQ-746
  URL: https://issues.apache.org/activemq/browse/AMQ-746
  Project: ActiveMQ
 Type: Bug

   Components: Geronimo Integration
 Versions: 3.2.4
 Reporter: Gianny DAMOUR
  Fix For: 3.2.5
  Attachments: GERONIMO-1638-AMQ.patch


 The current implementation resolves the persistence adapter directory via 
 serverInfo.resolve. This causes a problem with the multi-server feature: the 
 journal is located at var/activemq/journal instead of server 
 name/var/activemq/journal

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-367) Axis/JMS/ActiveMQ demo

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-367?page=all ]

Hiram Chirino updated AMQ-367:
--

Fix Version: 3.2.5
 (was: 3.2.4)

 Axis/JMS/ActiveMQ demo
 --

  Key: AMQ-367
  URL: https://issues.apache.org/activemq/browse/AMQ-367
  Project: ActiveMQ
 Type: New Feature

 Versions: 3.1
 Reporter: Chris Berry
  Fix For: 3.2.5
  Attachments: axis-jms-demo.zip


 I have created a self-contained demo of using Axis/JMS/ActiveMQ
 James suggested that I pass it along for possible inclusion in the examples
 All of the code is in the enclosed ZIP
 Cheers,
 -- Chris 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-319) ActiveMQ hangs when initial connection to broker fails using reliable transport

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-319?page=all ]

Hiram Chirino updated AMQ-319:
--

Fix Version: 3.2.5
 (was: 3.2.4)

  ActiveMQ hangs when initial connection to broker fails using reliable 
 transport
 

  Key: AMQ-319
  URL: https://issues.apache.org/activemq/browse/AMQ-319
  Project: ActiveMQ
 Type: Improvement

   Components: JMS client
 Versions: 3.0
 Reporter: Ramzi Saba
  Fix For: 3.2.5



 Make these changes in the JMS client to avoid blocking on startup in case all 
 brokers are down:
 1- Start the reliable tcp channel in its own thread (seems there was an 
 attempt to do so anyway)
 2- Synchronous and asynchronous client calls (via session, consumer, etc.) to 
 the reliable tcp channel should simply verify if a reliable channel has been 
 already established, else throw a JMSException, alternatively allow the 
 client to configure a timeout (currently it's hardcoded for synchronous calls 
 only I believe).
 3- Other than starting the reliable channel, the client should not be 
 responsible of reestablishing a lost or unavailable channel. I would delegate 
 reliability to the reliable channel itself.
 4- Look into adding a listener to allow for a silent client startup and 
 reconnect behind the scene once the broker is up

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-122) add support for priority message ordering

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-122?page=all ]

Hiram Chirino updated AMQ-122:
--

Fix Version: 3.2.5
 (was: 3.2.4)

 add support for priority message ordering
 -

  Key: AMQ-122
  URL: https://issues.apache.org/activemq/browse/AMQ-122
  Project: ActiveMQ
 Type: New Feature

   Components: JMS client
 Versions: 4.0
  Environment: Solaris 8, Linux, Windows , Java 1.4.2
 Reporter: Etienne Araya
 Assignee: Ramzi Saba
  Fix For: 3.2.5


 Original Estimate: 8 hours
 Remaining: 8 hours

 messages with higher priority is not consumed first
 ActiveMQ doesn't yet support priorities.
 messages with greater priority are not consumed first but that are consumed 
 in the arrival order.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-445) Erroneous extra linefeed in STOMP

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-445?page=all ]
 
Hiram Chirino resolved AMQ-445:
---

Resolution: Won't Fix

The STOMP protocol actually states that all white space after the frame 
terminator but before the next command should be ignored.

 Erroneous extra linefeed in STOMP
 -

  Key: AMQ-445
  URL: https://issues.apache.org/activemq/browse/AMQ-445
  Project: ActiveMQ
 Type: Bug

   Components: Transport
 Versions: 3.2
  Environment: WinXP  RHEL4
 Reporter: MF
  Attachments: log.txt


 Erroneous extra linefeeds (0x0A) are sent by the server after the terminating 
 zero character in a server frame, see attached communication log.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-482) Error in connection, probable race condition.

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-482?page=all ]
 
Hiram Chirino resolved AMQ-482:
---

Fix Version: 4.0
 Resolution: Fixed
  Assign To: Hiram Chirino

Race conditions have been resolved in 4.0.  I encourage you to upgrade.

 Error in connection, probable race condition.
 -

  Key: AMQ-482
  URL: https://issues.apache.org/activemq/browse/AMQ-482
  Project: ActiveMQ
 Type: Bug

   Components: Connector
 Versions: 3.2.1
  Environment: java version 1.5.0_04
 Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
 Java HotSpot(TM) Server VM (build 1.5.0_04-b05, mixed mode)
 Reporter: tyler ward
 Assignee: Hiram Chirino
  Fix For: 4.0



 This appears to just be a race condition. I'm using version 3.2.1.
 06:13:12,247 INFO  [STDOUT] Exception in thread TcpTransportChannel: 
 Socket[addr=/65.202.163.15,port=58475,localport=61616] 
 06:13:12,249 INFO  [STDOUT] java.lang.NegativeArraySizeException
 06:13:12,249 INFO  [STDOUT] at 
 org.activemq.io.impl.DefaultWireFormat.readPacket(DefaultWireFormat.java:129)
 06:13:12,249 INFO  [STDOUT] at 
 org.activemq.io.impl.AbstractDefaultWireFormat.readPacket(AbstractDefaultWireFormat.java:175)
 06:13:12,249 INFO  [STDOUT] at 
 org.activemq.io.AbstractWireFormat.readPacket(AbstractWireFormat.java:235)
 06:13:12,250 INFO  [STDOUT] at 
 org.activemq.transport.tcp.TcpTransportChannel.run(TcpTransportChannel.java:313)
 06:13:12,250 INFO  [STDOUT] at java.lang.Thread.run(Thread.java:595)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-443) ReliableTransport / KeepAlive algorithm does not work properly.

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-443?page=all ]
 
Hiram Chirino resolved AMQ-443:
---

Fix Version: 4.0
 Resolution: Fixed

4.0 Has implemented a more robust keepalive solution.  KeepAlive packets are 
only sent when the transport has been idle.  Also, while the transport is 
performing a blocking opperation it is not considered idle.


 ReliableTransport / KeepAlive algorithm does not work properly.
 ---

  Key: AMQ-443
  URL: https://issues.apache.org/activemq/browse/AMQ-443
  Project: ActiveMQ
 Type: Bug

   Components: Transport, Broker
 Versions: 3.2, 3.2.1
  Environment: Solaris 8 / 10.  JDK 1.5
 Reporter: Kevin Yaussy
  Fix For: 4.0
  Attachments: KeepAliveDaemon.java, ReliableTransportChannel.java


 The current implementation of KeepAliveDaemon.java will sometimes force 
 disconnections on well behaved connections.  The problem may arrise if there 
 is a connection which goes away, and the KeepAlive send to that channel 
 blocks while attempting to reconnect.  If this reconnection takes a while, 
 then other channels that were responding fine may get their connections 
 broken.  This happens due to the following code in KeepAliveDaemon.java:
   if ((channel.getLastReceiptTimestamp() + 
 channel.getKeepAliveTimeout() * 2)  System.currentTimeMillis()) {
 or
   } else if ((channel.getLastReceiptTimestamp() + 
 channel.getKeepAliveTimeout())  System.currentTimeMillis()) {
 The fact that the receipt timestamp is checked against 
 System.currentTimeMillis() causes the code to break otherwise good 
 connections.  If a KeepAlive send (in examineChannel) for a broken channel 
 takes longer than some good channel's KeepAliveTimeout, then the good 
 connection gets broken.
 This can, in turn, cause some pretty bad behavior in the Broker.  While 
 testing and diagnosing this problem, I could some brokers in a network of 
 brokers stuck.  The sequence of events during recovery, which get interrupted 
 due to closing the connections, would sometimes lead to the broker hanging 
 waiting for a receipt, such as during an addConsumer (which eventually calls 
 syncSendWithReceipt).
 I have redone the logic in KeepAliveDaemon.java (which required a small 
 change to ReliableTransportChannel as well).  This now seems to work.
 I'm a bit concerned about the blocking calls, though.  This may be a 
 different issue / bug.  I thought it looked like there was a mechanism to 
 cancel outstanding receipt waiters - but, every once in a while that 
 mechanism would not get called.  This results in the broker basically getting 
 stuck, and does not ever really recover.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-438) MSMQ - ActiveMQ Bridge

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-438?page=all ]

Hiram Chirino updated AMQ-438:
--

Fix Version: 4.3

Since MSMQ is bit crappy anyways, this seems like a nice to have.  Puting on 
the 4.3 roadmap.

 MSMQ - ActiveMQ Bridge
 

  Key: AMQ-438
  URL: https://issues.apache.org/activemq/browse/AMQ-438
  Project: ActiveMQ
 Type: New Feature

 Reporter: james strachan
  Fix For: 4.3



 Use the C# for Stomp or the C# version of OpenWire to consume from MSMQ and 
 publish to ActiveMQ. 
 We could avoid XA support for now and just do duplicate detection in ActiveMQ.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-421) Spelling error on startup of broker

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-421?page=all ]
 
Hiram Chirino resolved AMQ-421:
---

Fix Version: 3.2.5
 Resolution: Fixed

Thanks!  Fixed in next release.

 Spelling error on startup of broker
 ---

  Key: AMQ-421
  URL: https://issues.apache.org/activemq/browse/AMQ-421
  Project: ActiveMQ
 Type: Improvement

   Components: Broker
 Versions: 3.1
 Reporter: Paul Smith
 Priority: Trivial
  Fix For: 3.2.5



 I have a developer who can spot spelling and grammatical errors from 
 50,000ft.  She reports that the startup sequence bugs her (see highlighted 
 bit below)
 C:\activemq-3.1\binactivemq
 ActiveMQ Message Broker (http://activemq.org/)
 Loading -*Mesaage*- Broker from activemq.xml on 
 the CLASSPATH
 08:47:53 INFO  JDK 1.4+ collections available
 08:47:53 INFO  ActiveMQ 3.1 JMS Message Broker 
 (ID:alice-1590-1132696072488-0:0) is starting
 :)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-562) TEST TwoMulticastDiscoveryBrokerTopicSendReceiveTest failed

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-562?page=all ]

Hiram Chirino updated AMQ-562:
--

type: Test  (was: Bug)

 TEST TwoMulticastDiscoveryBrokerTopicSendReceiveTest failed
 ---

  Key: AMQ-562
  URL: https://issues.apache.org/activemq/browse/AMQ-562
  Project: ActiveMQ
 Type: Test

   Components: Test Cases
 Versions: 4.0
 Reporter: Hiram Chirino



 disabled for now.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-540) TEST org.apache.activemq.usecases.TwoBrokerMessageNotSentToRemoteWhenNoConsumerTest FAILED

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-540?page=all ]

Hiram Chirino updated AMQ-540:
--

type: Test  (was: Bug)

 TEST 
 org.apache.activemq.usecases.TwoBrokerMessageNotSentToRemoteWhenNoConsumerTest
  FAILED
 --

  Key: AMQ-540
  URL: https://issues.apache.org/activemq/browse/AMQ-540
  Project: ActiveMQ
 Type: Test

   Components: Test Cases
 Versions: 4.0
 Reporter: Hiram Chirino





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-539) TEST org.apache.activemq.usecases.ThreeBrokerQueueNetworkUsingTcpTest FAILED

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-539?page=all ]

Hiram Chirino updated AMQ-539:
--

type: Test  (was: Bug)

 TEST org.apache.activemq.usecases.ThreeBrokerQueueNetworkUsingTcpTest FAILED
 

  Key: AMQ-539
  URL: https://issues.apache.org/activemq/browse/AMQ-539
  Project: ActiveMQ
 Type: Test

   Components: Test Cases
 Versions: 4.0
 Reporter: Hiram Chirino





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: Nested MapMessage

2006-06-14 Thread jhakim

One could allow Map or MapMessage or both as the second argument. The real
issue is that nested MapMessage should be allowed. I have no quibble with a
JMS provider allowing a Map as the second argument - as long as MapMessage
entries were accepted. 
--
View this message in context: 
http://www.nabble.com/Nested-MapMessage-t1788442.html#a4877006
Sent from the ActiveMQ - Dev forum at Nabble.com.



[jira] Resolved: (AMQ-370) Sleeping time between redeliveries

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-370?page=all ]
 
Hiram Chirino resolved AMQ-370:
---

Fix Version: 4.0
 Resolution: Fixed

Exponential redeliveries are now implemented on the client side correctly in 
activemq 4.0.  I would recommend you upgrade to 4.0.

 Sleeping time between redeliveries
 --

  Key: AMQ-370
  URL: https://issues.apache.org/activemq/browse/AMQ-370
  Project: ActiveMQ
 Type: Improvement

 Reporter: Daniel Aioanei
  Fix For: 4.0



 The method org.activemq.service.impl.SubscriptionImpl.getMessagesToDispatch 
 seems to wait synchronously until the next redelivery is due for each message 
 to be retried. This means that for each message that needs be redelivered 
 let's say the next day, there will be a thread that's going to be sleeping 
 for a whole day. I think there is a lot of space for improvement here, but 
 please correct me if I didn't understand the code correctly.
 if (redeliveryPolicy.isBackOffMode()
  msg.getDeliveryCount()  
 redeliveryPolicy.getMaximumRetryCount()) {
 long sleepTime = 
 redeliveryPolicy.getInitialRedeliveryTimeout();
 sleepTime *= (msg.getDeliveryCount() * 
 redeliveryPolicy.getBackOffIncreaseRate());
 try {
 Thread.sleep(sleepTime);
 }
 catch (InterruptedException e) {
 }
 }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-379) Duplicate message received

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-379?page=all ]
 
Hiram Chirino resolved AMQ-379:
---

Fix Version: 4.0
 3.2.4
 Resolution: Fixed

This should work properly in 4.0, and I think 3.2 also fixed.  Could you please 
test and re-open this issue if there is still a problem?

 Duplicate message received
 --

  Key: AMQ-379
  URL: https://issues.apache.org/activemq/browse/AMQ-379
  Project: ActiveMQ
 Type: Bug

   Components: Broker
 Versions: 3.1
  Environment: SUN JVM 5 Update 4
 Reporter: Leo Chan
  Fix For: 4.0, 3.2.4
  Attachments: test.rar


 I found if the Recevier and Sender start almost the same time.  The Receiver 
 will receiver the same message twise.  I have included my Testing program run 
 by 
 java -classpath 
 .;..\activemq-3.1.jar;..\lib\geronimo-spec-jms-1.1-rc4.jar;..\lib\geronimo-spec-j2ee-management-1.0-rc4.jar;..\lib\commons-logging-1.0.3.jar;..\lib\log4j-1.2.8.jar;..\lib\concurrent-1.3.4.jar;..\conf;..\lib\spring-1.2.2.jar
  TestJmsSender
 I have test by restarted the program ~10 times and around 40% chance of have 
 the error of receiver rec same message twise

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Assigned: (AMQ-303) Pooled XAConnectionFactory for use with Spring

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-303?page=all ]

Hiram Chirino reassigned AMQ-303:
-

Assign To: james strachan

James, perhaps we should close this issue out and open one against jencks?

 Pooled XAConnectionFactory for use with Spring
 --

  Key: AMQ-303
  URL: https://issues.apache.org/activemq/browse/AMQ-303
  Project: ActiveMQ
 Type: Improvement

   Components: Connector, JMS client, JCA Container
  Environment: ActiveMQ 3
 Reporter: Andy DePue
 Assignee: james strachan
 Priority: Minor
  Attachments: PooledSpringXAConnectionFactory_7_14_05.zip


 Work is currently underway to provide a JCA Container implementation for 
 Spring, which would allow fully transaction aware usage of ActiveMQ in 
 Spring.  Current Spring JCA Container implementations work well for 
 consumers, but are not quite mature for producers.  I've thrown together (as 
 in, just a couple hours of work) an implementation of XAConnectionFactory 
 that is both pooled and automatically detects and participates in surrounding 
 JTA transactions.  There are some caveats to this, however:
 1. This is considered a temporary solution until Spring JCA Container 
 implementations have matured to the point where one can access pooled 
 producers that automatically participate in the (optional) surrounding JTA 
 transaction, even if the transaction was started by a 3rd party (as opposed 
 to being started by ActiveMQ in response to consuming a message).
 2. This was thrown together by copying out ActiveMQ's PooledConnectionFactory 
 code and modifying as needed.  Because of this, there is much code 
 duplication between PooledConnectionFactory and 
 PooledSpringXAConnectionFactory.  Also, the code ends up being ugly. :)
 3. This implementation depends on both JTA and Spring.  It requires JTA in 
 order to properly enlist and handle XA connections/sessions/etc, and it 
 requires Spring in order to manage XASession resources associated with the 
 current transaction.
 4. We are still in the process of testing this code.  We are moving our 
 current code base to Spring 1.2.2 as we need some of the transaction bug 
 fixes made in 1.2.2.  Until we are fully ported, we will not be able to fully 
 test this code.  If we run into problems/bugs, we will post updates to this 
 JIRA issue.
 With all that out of the way, usage is very similar to 
 PooledConnectionFactory.  First, I'll comment on usage, and then show a 
 sample Spring configuration.
 As far as usage is concerned, you must not hold onto sessions and/or 
 producers for long periods of time, especially across transaction boundaries. 
  In other words, do not write code that opens a session and then leaves it 
 open for the duration of your application.  Instead, your code should do this 
 every time it needs to produce:
 1. Open a new connection: connectionFactory.createConnection().
 2. Create a new session: connection.createSessions(...)
 3. Create a producer: session.createProducer(...)
 4. Produce messages
 5. close producer, close session, close connection.
 This pattern may seem heavyweight, but because you are using 
 PooledSpringXAConnectionFactory, it is actually quite light and efficient.  
 The following will hold true if you use this pattern:
 1. You will be using pooled connections, sessions, and producers - so you 
 will be avoiding the cost of opening/creating them every time, even though 
 you are calling create and close methods.
 2. These sessions will automatically participate in any surrounding JTA 
 transaction.
 3. All these objects will be properly managed for thread safety.
 4. If there is a surrounding JTA transaction, then for each thread, the same 
 actual XASession will be used for the remainder of the transaction.
 Finally, here is an example Spring configuration:
   !-- This bean automatically handles pooling and transaction management 
 --
   bean id=jmsConnectionFactory 
 class=com.marathon.jms.PooledSpringXAConnectionFactory
 property name=connectionFactory
   !-- Actual transaction aware connection factory. --
   bean class=org.activemq.ActiveMQXAConnectionFactory
 property name=brokerURLvalue... broker URL goes here 
 .../value/property
   /bean
 /property
 property name=jtaTransactionManager ref=transactionManager/
   /bean
 Note that PooledSpringXAConnectionFactory needs access to a JTA 
 TransactionManager, and there are two ways to provide it.  If you have 
 exposed the actual JTA javax.transaction.TransactionManager as a bean in your 
 Spring config, then you would set the transactionManager property:
   property name=transactionManager ref=beanNameOfTransactionManager/
 If you have exposed a Spring 
 org.springframework.transaction.jta.JtaTransactionManager in your config, 
 then you could set the jtaTransactionManager property:
   property 

[jira] Commented: (AMQ-361) duplicate delivery, already consumed messages are reconsumed after server restart

2006-06-14 Thread Hiram Chirino (JIRA)
[ 
https://issues.apache.org/activemq/browse/AMQ-361?page=comments#action_36360 ] 

Hiram Chirino commented on AMQ-361:
---

Could you see if your still having the same issues with ActiveMQ 4.0?  The 
queue browsing has been improved tremendously since 3.x

 duplicate delivery, already consumed messages are reconsumed after server 
 restart
 -

  Key: AMQ-361
  URL: https://issues.apache.org/activemq/browse/AMQ-361
  Project: ActiveMQ
 Type: Bug

   Components: Broker, Message Store, JCA Container
 Versions: 3.1
  Environment: windows xp, jdk 1.5, embedded activemq 3.1 broker, jboss 4.02, 
 persistent messages with  derby db.
 Reporter: Gokturk Ozer
  Attachments: 1.log


 I am running an embedded activemq broker inside jboss server, I send 1000 
 messages with ~10K size each to a queue, these messages are consumed by MDBs. 
 After all the messages are consumed, I check the queue via hermes, it also 
 shows no message in the queue. Everything works perfect up to this point. I 
 observe the problem after I stop the jboss server. I connect to derby 
 database via networkserver, I still see some messages in activemq_msgs table. 
 I shutdown derby networkserver and start jboss again, I see from the log that 
 some of the messages which were consumed previously, are being consumed 
 again. If I start the server without deploying the MDB and check the queue 
 via hermes, I see some but not all the messages which were consumed 
 previously still in the queue, before restart hermes was showing no messages. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-365) MySQL 4.1 isn't supported because SQL for old messages uses subselects

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-365?page=all ]
 
Hiram Chirino resolved AMQ-365:
---

Resolution: Duplicate

dup

 MySQL  4.1 isn't supported because SQL for old messages uses subselects
 

  Key: AMQ-365
  URL: https://issues.apache.org/activemq/browse/AMQ-365
  Project: ActiveMQ
 Type: Improvement

   Components: Message Store
 Versions: 3.1
 Reporter: Al Maw
 Priority: Minor



 store.jdbc.adapter.getFindOldMessagesStatment()
 store.jdbc.adapter.getDeleteOldMessagesStatment()
 Both of these use subselects, which quite a few databases (including MySQL 
 prior to version 4.1) don't support.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: Nested MapMessage

2006-06-14 Thread jhakim

There are a lot of real-world applications that need the ability to send
structured data via JMS. 

For example, take an application that wants to publish a portfolio of bonds
(or stocks - take your pick). The logical way to do it would be to have a
portfolio container message with zero or more (nested) bond messages. The
alternative, breaking a portfolio into a series of bond messages, is VERY
cumbersome and requires that the consumer reconstruct the portfolio.

This is but one instance of a real-world need to publish arbitrary message
structures. Nested MapMessage addresses this need directly and elegantly.


--
View this message in context: 
http://www.nabble.com/Nested-MapMessage-t1788442.html#a4877171
Sent from the ActiveMQ - Dev forum at Nabble.com.



[jira] Resolved: (AMQ-308) Scoping JNDI properties

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-308?page=all ]
 
Hiram Chirino resolved AMQ-308:
---

Resolution: Won't Fix

breaking compatibility is not really an option at this time.  Too bad we did 
not do this for 4.0 perhaps for 5.x we can do this.

 Scoping JNDI properties
 ---

  Key: AMQ-308
  URL: https://issues.apache.org/activemq/browse/AMQ-308
  Project: ActiveMQ
 Type: Improvement

 Versions: 3.0
 Reporter: Stephane Bailliez
 Priority: Trivial



 It would be better to have scope over ActiveMQ JNDI properties, ie:
 activemq.useEmbeddedBroker= ...
 activemq.queue.MyQueue= ...
 This will break backward compatibility.
 You could eventually deprecate the original syntax for a release and remove 
 support for the next one.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-174) Use of Connection.ExceptionListener defeats reliable transport

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-174?page=all ]
 
Hiram Chirino resolved AMQ-174:
---

Fix Version: 4.0
 Resolution: Fixed

This has all been fixed in 4.0

 Use of Connection.ExceptionListener defeats reliable transport
 --

  Key: AMQ-174
  URL: https://issues.apache.org/activemq/browse/AMQ-174
  Project: ActiveMQ
 Type: Improvement

   Components: Transport
 Versions: 2.0
  Environment: W2K java version 1.4.2_05
 Reporter: Dennis Cook
  Fix For: 4.0



 If an ExceptionListener is registered with a Connection and it is triggered 
 by the loss of connection to a broker, the additional checks for other 
 brokers in the list that the reliable transport usually provides is bypassed 
 and the Connection is terminated.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-268) Queue + Transaction: ordering/redelivery

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-268?page=all ]
 
Hiram Chirino resolved AMQ-268:
---

Fix Version: 4.0
 Resolution: Fixed

4.0 gives it back to you in the same order.

 Queue + Transaction: ordering/redelivery
 

  Key: AMQ-268
  URL: https://issues.apache.org/activemq/browse/AMQ-268
  Project: ActiveMQ
 Type: Improvement

 Versions: 3.1, 3.0
 Reporter: Paul Smith
  Fix For: 4.0
  Attachments: TransactionRollbackTest.zip


 [This was posted directly to the [EMAIL PROTECTED] mailing list while JIRA 
 was down, reposting here]
 My understanding is that Queue's are ordered, FIFO things.  We have an 
 interesting scenario here processing a message from a Queue can periodically 
 cause an error because of local conditions.  What we'd assumed is that we 
 could get the message out of the queue using transactions, and should the 
 error processing the message fail, rollback, wait a bit, then go again.  In 
 our current scenario it is not critical of the ordering, but this has 
 highlighted something that may be required for a different scenario later on.
 We set this up using ActiveMQ 3.0 and also tested using the latest snapshot, 
 but after a failure (rollback), messages after the failure message get 
 delivered first, and then when it does get around to redelivering the failure 
 message it  is always the wrong message redelivered.
 we setup a test case to reproduce the scenario.
 Now, this could well highlight a vague area of the spec, or even our 
 programming errors.  All comments appreciated.
 (see attached test case, with log output you get when you run it, you will 
 see that Message 3 is rolled back, but it redelivers message 2 instead, and 
 only after putting Message 4  5 through)
 cheers,
 Paul Smith

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-192) error when starting up broker for the first time

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-192?page=all ]
 
Hiram Chirino resolved AMQ-192:
---

Fix Version: 4.0
 Resolution: Fixed

ActiveMQ 4.0 now only need 1 jar in the classpath to startup, it will take care 
of setting the right classpath up for activemq.

 error when starting up broker for the first time
 

  Key: AMQ-192
  URL: https://issues.apache.org/activemq/browse/AMQ-192
  Project: ActiveMQ
 Type: Improvement

   Components: Broker
 Versions: 2.0
  Environment: win2K (any other can provide as necessary)
 Reporter: vijay venkatesh
 Priority: Minor
  Fix For: 4.0



 Downloaded activemq2.0 and tried running activemq(just default startup mode) 
 and got the following error:
 **
 C:\activemq\activemq-release-2.0activemq
 The input line is too long.
 :gotAllArgs
  was unexpected at this time.
 **
 Didnt see this in any faq/errors, so dont know if I didnt install correctly?
 Thanks much,
 V

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Assigned: (AMQ-192) error when starting up broker for the first time

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-192?page=all ]

Hiram Chirino reassigned AMQ-192:
-

Assign To: Hiram Chirino

 error when starting up broker for the first time
 

  Key: AMQ-192
  URL: https://issues.apache.org/activemq/browse/AMQ-192
  Project: ActiveMQ
 Type: Improvement

   Components: Broker
 Versions: 2.0
  Environment: win2K (any other can provide as necessary)
 Reporter: vijay venkatesh
 Assignee: Hiram Chirino
 Priority: Minor
  Fix For: 4.0



 Downloaded activemq2.0 and tried running activemq(just default startup mode) 
 and got the following error:
 **
 C:\activemq\activemq-release-2.0activemq
 The input line is too long.
 :gotAllArgs
  was unexpected at this time.
 **
 Didnt see this in any faq/errors, so dont know if I didnt install correctly?
 Thanks much,
 V

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-288) Allow the RA do customize the clientID using a clientID prefix then a counter after that for each connection it creates.

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-288?page=all ]
 
Hiram Chirino resolved AMQ-288:
---

Resolution: Won't Fix

It does not look like there is much interest in changing how the RA does client 
id handling.  The issue really did not make much sense to me.

 Allow the RA do customize the clientID using a clientID prefix then a counter 
 after that for each connection it creates.
 

  Key: AMQ-288
  URL: https://issues.apache.org/activemq/browse/AMQ-288
  Project: ActiveMQ
 Type: New Feature

   Components: Connector
 Reporter: james strachan



 enhance the RA to have a clientIDPrefix property in the 
 ActiveMQConnectionRequestInfo class (with a similar getter/setter on the RA 
 class too) so that you could specify your own clientID prefix - then the 
 RA/MC could create a new client ID for each connection it makes by appending 
 1, 2, 3, 4 to the clientID.
 more background...
 On 6 Jul 2005, at 09:44, Roos, Robin wrote:
 Hi All
 I set the clientid element in ra.xml, but when I started the JBoss server 
 with this deployment the ActiveMQ connection pool tried to create multiple 
 connections with the same clientid.  Naturally that failed.
   config-property
   descriptionThe client id that will be set on the connection that is 
 established to the ActiveMQ server./description
   config-property-nameClientid/config-property-name
   config-property-typejava.lang.String/config-property-type
   config-property-valueGenesisApplicationServer/config-property-value
/config-property
 I was hoping that I could differentiate between different clients when 
 reviewing activemq.log.  I set the clientid to GenesisApplicationServer.  
 With a pooling policy it would be convenient if the connections in the pool 
 became known as GenesisApplicationServer-n where n is the instance number 
 in the pool.  But perhaps setting clientid is inappropriate in this case
 Files activemq3.log and ra.xml are attached.
 Kind regards, Robin.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-241) References to ActiveMQConnectorGBean cannot be added to other GBeans

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-241?page=all ]
 
Hiram Chirino resolved AMQ-241:
---

Resolution: Won't Fix

GBean modules will soon be moving into the geronimo project since they more 
more closely related.

 References to ActiveMQConnectorGBean  cannot be added to other GBeans
 -

  Key: AMQ-241
  URL: https://issues.apache.org/activemq/browse/AMQ-241
  Project: ActiveMQ
 Type: Improvement

   Components: Geronimo Integration
 Reporter: Dondi Imperial



 Cannot add org.activemq.gbean.ActiveMQConnectorGBean as references to other 
 GBeans in geronimo. I think this is because it does not have a default 
 constructor or implement an interface.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-45) JCA 1.0 outbound support for publishing to JMS on legacy app servers

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-45?page=all ]
 
Hiram Chirino resolved AMQ-45:
--

Resolution: Won't Fix

resolving issue due to lack of contributor interest to implement this feature.  
The longer we wait the less interest there will be since JCA 1.0 is getting OLD.

 JCA 1.0 outbound support for publishing to JMS on legacy app servers
 

  Key: AMQ-45
  URL: https://issues.apache.org/activemq/browse/AMQ-45
  Project: ActiveMQ
 Type: New Feature

 Reporter: james strachan
 Priority: Minor



 It'd be handy for folks stil stuck on containers like WL7 to provide a JCA 
 1.0 outbound implementation which publishes on ActiveMQ with XA support  
 connection pooling etc

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-73) Provide a REST view onto a queue browser

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-73?page=all ]

Hiram Chirino updated AMQ-73:
-

Fix Version: 4.2

Should not be too hard to implement.. Putting out for 4.2

 Provide a REST view onto a queue browser
 

  Key: AMQ-73
  URL: https://issues.apache.org/activemq/browse/AMQ-73
  Project: ActiveMQ
 Type: New Feature

 Reporter: james strachan
 Priority: Minor
  Fix For: 4.2



 So that a REST client can view whats on the queue, then view each message 
 then consume/delete items on the queue in a reliable REST fashion

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-62) support XStream alternative to serialization?

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-62?page=all ]
 
Hiram Chirino resolved AMQ-62:
--

Fix Version: 4.0
 Resolution: Fixed

4.0 supports the xstream wireformat.

 support XStream alternative to serialization?
 -

  Key: AMQ-62
  URL: https://issues.apache.org/activemq/browse/AMQ-62
  Project: ActiveMQ
 Type: New Feature

 Reporter: james strachan
 Assignee: Karsten Silz
 Priority: Minor
  Fix For: 4.0



 It'd be cool to have an XStream plugin...
 http://xstream.codehaus.org/
 to support transparent serialization to XML while still obeying the 
 ObjectMessage contract. Maybe allowing other clients to see the message as a 
 TextMessage containing XML?
 Another idea could be to use the XMLBeans plugin
 http://xmlbeans.apache.org/
 to do the same thing in reverse - for XML stored in a TextMessage (or even 
 XmlMessage) we could allow objects to be extracted via ObjectMessage

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-3) get JXTA transport working

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-3?page=all ]
 
Hiram Chirino resolved AMQ-3:
-

Resolution: Won't Fix
 Assign To: Hiram Chirino

jxta is not in big demand lately.

 get JXTA transport working
 --

  Key: AMQ-3
  URL: https://issues.apache.org/activemq/browse/AMQ-3
  Project: ActiveMQ
 Type: New Feature

 Versions: 1.0
 Reporter: james strachan
 Assignee: Hiram Chirino
 Priority: Minor





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Assigned: (AMQ-21) message type restrictions on destinations

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-21?page=all ]

Hiram Chirino reassigned AMQ-21:


Assign To: james strachan

Could you explain what you mean by this a little more?

 message type restrictions on destinations
 -

  Key: AMQ-21
  URL: https://issues.apache.org/activemq/browse/AMQ-21
  Project: ActiveMQ
 Type: Wish

 Reporter: james strachan
 Assignee: james strachan
 Priority: Minor



 Some users may want to restrict certain types (e.g. XSD types) of messages to 
 be sent on certain destinations.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Assigned: (AMQ-22) message type metadata exposing

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-22?page=all ]

Hiram Chirino reassigned AMQ-22:


Assign To: james strachan

Are you refering to providing some visualization tools into the types of 
messages that are flowing through the broker?

 message type metadata exposing
 --

  Key: AMQ-22
  URL: https://issues.apache.org/activemq/browse/AMQ-22
  Project: ActiveMQ
 Type: Wish

   Components: Broker
 Reporter: james strachan
 Assignee: james strachan
 Priority: Minor



 users may wish to see what types of messages are sent on what destinations.
 e.g. we may wish to collate together all Message.getMessageType() values are 
 used for each Destination. 
 Similarly we might wanna capture what XSD types are used on each destination 
 to help folks grok the message model used in an organisation

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-69) create latency benchmark to test RPC round trips

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-69?page=all ]
 
Hiram Chirino resolved AMQ-69:
--

Fix Version: 4.0
 Resolution: Fixed

Our jmeter tests can do this now if you set it up to test with sync sends.

 create latency benchmark to test RPC round trips
 

  Key: AMQ-69
  URL: https://issues.apache.org/activemq/browse/AMQ-69
  Project: ActiveMQ
 Type: New Feature

 Reporter: james strachan
 Priority: Minor
  Fix For: 4.0





-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-186) Allow for use of a connect timeout property when creating socket

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-186?page=all ]

Hiram Chirino updated AMQ-186:
--

Fix Version: 4.2

Lets see if we can get this done by 4.2

 Allow for use of a connect timeout property when creating socket
 

  Key: AMQ-186
  URL: https://issues.apache.org/activemq/browse/AMQ-186
  Project: ActiveMQ
 Type: Improvement

   Components: Transport
 Reporter: Dennis Cook
 Priority: Minor
  Fix For: 4.2



 Socket construction in the TcpTransportChannel class uses either 
 Socket(host, port) or Socket(host, port, host, port) variations.  
 J2SDK offers another construction model; Socket(), bind(bindpoint), 
 connect(endpoint, timeout.  Use of this model allows a custom connectoin 
 timeout value to be used.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Updated: (AMQ-20) XmlMessage type support

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-20?page=all ]

Hiram Chirino updated AMQ-20:
-

Fix Version: 4.3

Cool idea.. may ned a little more thought into how we will implement it.  
Putting on roadmap 4.3

 XmlMessage type support
 ---

  Key: AMQ-20
  URL: https://issues.apache.org/activemq/browse/AMQ-20
  Project: ActiveMQ
 Type: Wish

 Reporter: james strachan
 Priority: Minor
  Fix For: 4.3



 A real common use case I see is financial systems, sending around lots of XSD 
 documents over some protocol (HTTP / JMS) - if both ends know the schema 
 formats - then sending / receiving an efficient binary XSD format (using 
 longs / ints / doubles for numeric / date types on DataInput/Output) would 
 totally rock - to the end user it'd look like XML beans or text or DOM but on 
 the wire could be super fast  no xml parsing.
 e.g. if both sides of the wire were using Java  were using XMLBeans on both 
 sides as a bean / DOM / XPath / XQuery API, then we could take an xmlbeans 
 schema  lazily bytecode generate a marshaller per schema to use an efficient 
 wire format, assuming the other end knows the schema. Then the message on the 
 wire looks like
 http://some.repository.com/someschema/version/1.2.3
 [lots of bytes]
 so the reader would load the XSD schema from the given universal URI, if its 
 not created an xmlbeans schema  marshaller for it yet, do so, then it can 
 decipher the bytes.
 Then in those times where you're sending/receiving 100K messages per hour of 
 the same schema, you don't have all that XML parsing to deal with - it'd use 
 a super fast ASM.1 style binary format which to the application programmer 
 could be marshalled into a DOM / bean / XPath / XQuery model, yet have a 
 super-fast wire format.
 We could expose these types of messages to the user via a special Destination 
 which would accept either Text messages or Object messages - if the 
 ObjectMessage contains an xmlbean then it'd use the super-efficient binary 
 serialization on the wire  presenting it to the user as either an 
 ObjectMessage, TextMessage or maybe a new XmlMessage (or all 3)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



[jira] Resolved: (AMQ-131) provide implementation to retrieve ActiveMQDestination in the MessageContainerAdmin interface

2006-06-14 Thread Hiram Chirino (JIRA)
 [ https://issues.apache.org/activemq/browse/AMQ-131?page=all ]
 
Hiram Chirino resolved AMQ-131:
---

Resolution: Won't Fix

4.0 has a much better JMX admin frame work and this issue does not appy anymore.

 provide implementation to retrieve ActiveMQDestination in the 
 MessageContainerAdmin interface
 -

  Key: AMQ-131
  URL: https://issues.apache.org/activemq/browse/AMQ-131
  Project: ActiveMQ
 Type: New Feature

   Components: Broker
  Environment: Windows XP
 jsdk1.4.2_03
 activemq main cvs trunk date nov 9, 2004
 geronimo
 Reporter: Jonas Lim
 Priority: Minor



 Provide implementaion to retrieve ActiveMQDestination in the 
 MessageContainerAdmin interface. This would be helpful when retrieving a list 
 of destinations thru the BrokerAdmin so that we'll also have a copy of the 
 ActiveMQDestination object not just the destination name. This way if we 
 would like to remove the destination thru the BrokerAdmin, we can know in 
 advance how to remove the destination based from the destination type 
 (ie. brokerAdmin.destoryMessageContainer(new ActiveMQQueue( destinationName)) 
 or brokerAdmin.destoryMessageContainer(new ActiveMQTopic(destinationName))

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira



Re: Nested MapMessage

2006-06-14 Thread Hiram Chirino

On 6/15/06, jhakim [EMAIL PROTECTED] wrote:


There are a lot of real-world applications that need the ability to send
structured data via JMS.

For example, take an application that wants to publish a portfolio of bonds
(or stocks - take your pick). The logical way to do it would be to have a
portfolio container message with zero or more (nested) bond messages. The
alternative, breaking a portfolio into a series of bond messages, is VERY
cumbersome and requires that the consumer reconstruct the portfolio.

This is but one instance of a real-world need to publish arbitrary message
structures. Nested MapMessage addresses this need directly and elegantly.


Yes.. but nested Maps also addresses the same issue it seem to me.
What does nesting MapMessages buy you that nested Maps do not?




--
View this message in context: 
http://www.nabble.com/Nested-MapMessage-t1788442.html#a4877171
Sent from the ActiveMQ - Dev forum at Nabble.com.





--
Regards,
Hiram

Blog: http://hiramchirino.com