I've no idea really. Is there a long delay between creating the connection
and using it? Other than that I've no idea. Maybe turning on debug logging
on the broker then sending us the log?
On 4/3/06, Wayne1285 <[EMAIL PROTECTED]> wrote:
>
>
> I am using ActiveMQ 4.0-RC1, persisitng to MySQL 5.0 running Java 1.5
>
> I have opened a connection to a Broker on a server from a client and
> created
> a session. The connection registers in the JMX browser on the
> server. When
> I try to send a simple text message, I receive an EOFException. I have
> tested this with a Broker on the client and it works fine.
>
> Here is a portion of the log
> ========================================
> DEBUG JmsCommunicator.connect() session=ActiveMQSession
> {id=ID:irwin-3800-3505-1144043685484-1:0:1,started=false} -- 12:54:46.125
> DEBUG JmsCommunicator.sendMessage() message=ActiveMQTextMessage
> {commandId
> = 0, responseRequired = false, messageId = null, originalDestination =
> null,
> originalTransactionId = null, producerId = null, destination = null,
> transactionId = null, expiration = 0, timestamp = 0, arrival = 0,
> correlationId = null, replyTo = null, persistent = false, type = null,
> priority = 0, groupID = null, groupSequence = 0, targetConsumerId = null,
> compressed = false, userID = null, content = null, marshalledProperties =
> null, dataStructure = null, redeliveryCounter = 0, size = 0, properties =
> null, readOnlyProperties = false, readOnlyBody = false, text = Message 1}
> --
> 12:54:46.140
> DEBUG JmsCommunicator.getMessageSender()
> destination=queue://playerActivity -- 12:54:46.140
> DEBUG JmsCommunicator.getMessageSender() sender=ActiveMQMessageProducer {
> value=ID:irwin-3800-3505-1144043685484-1:0:1:1 } -- 12:54:46.156
> DEBUG Sending message: ActiveMQTextMessage {commandId = 0,
> responseRequired = false, messageId =
> ID:irwin-3800-3505-1144043685484-1:0:1:1:1, originalDestination = null,
> originalTransactionId = null, producerId =
> ID:irwin-3800-3505-1144043685484-1:0:1:1, destination =
> queue://playerActivity, transactionId =
> TX:ID:irwin-3800-3505-1144043685484-1:0:1, expiration = 0, timestamp =
> 1144043686156, arrival = 0, correlationId = null, replyTo = null,
> persistent
> = true, type = null, priority = 4, groupID = null, groupSequence = 0,
> targetConsumerId = null, compressed = false, userID = null, content =
> null,
> marshalledProperties = null, dataStructure = null, redeliveryCounter = 0,
> size = 0, properties = null, readOnlyProperties = true, readOnlyBody =
> true,
> text = Message 1} -- 12:54:46.156
> ERROR JmsCommunicator.onException() javax.jms.JMSException:
> java.io.EOFException-java.io.EOFException - java.io.EOFException --
> 12:54:47.171
> WARN JmsCommunicator.disconnectFromJMSServer() Did not close up-loader
> cleanly. javax.jms.JMSException: Cannot write to the stream any more it
> has
> already been closed -- 12:54:47.171
> WARN JmsCommunicator.disconnectFromJMSServer() Did not close session
> cleanly. javax.jms.JMSException: Cannot write to the stream any more it
> has
> already been closed -- 12:54:47.171
> WARN JmsCommunicator.disconnectFromJMSServer() Did not close connection
> cleanly. javax.jms.JMSException: Cannot write to the stream any more it
> has
> already been closed -- 12:54:47.171
> ==============================================
>
> Here is the relevant code
> ==============================================
> public void sendMessage(String _message) throws CommunicatorException
> {
>
> if (m_session == null) {
> throw new IllegalStateException(
> "Connection not established. Call connect() before
> sendMessage()");
> }
>
> String tryingTo = "";
> try {
> tryingTo = "prepare the content for sending";
> TextMessage message = m_session.createTextMessage(_message);
> s_logger.debug("JmsCommunicator.sendMessage() message=" +
> message);
>
> tryingTo = "send the content";
> getMessageSender().send(message);
> m_session.commit();
> s_logger.debug("JmsCommunicator.sendMessage() Sent message. '"
> +
> message.getText()
> + "'");
> m_sentCount++;
>
> } catch (JMSException e) {
> throw new CommunicatorException("Could not sendMessage. Trying
> to " + tryingTo + ". "
> + e);
> }
> }
>
> protected MessageProducer getMessageSender() throws
> CommunicatorException {
> // If already setup, just return it.
> if (m_messageSender != null) {
> return m_messageSender;
> }
>
> if (m_session == null) {
> throw new IllegalStateException(
> "Connection not established. Call connect() before
> getMessageSender()");
> }
>
> // Create a new message sender.
> String tryingTo = "";
> try {
> tryingTo = "create queue " + getSendQueueName();
> Destination destination =
> m_session.createQueue(getSendQueueName());
> s_logger.debug("JmsCommunicator.getMessageSender()
> destination="
> + destination);
>
> m_messageSender = m_session.createProducer(destination);
> m_messageSender.setDeliveryMode(DeliveryMode.PERSISTENT);
> s_logger.debug("JmsCommunicator.getMessageSender() sender=" +
> m_messageSender);
> return m_messageSender;
> } catch (JMSException e) {
> throw new CommunicatorException("Could not getMessageSender().
> Trying to " + tryingTo
> + ".", e);
> }
> }
> =================================================
>
>
> --
> View this message in context:
> http://www.nabble.com/EOFException-t1385203.html#a3720526
> Sent from the ActiveMQ - User forum at Nabble.com.
>
>
--
James
-------
http://radio.weblogs.com/0112098/