La transaction est en alternance

Je suis à l'aide de jboss 5.1.x, EJB3.0

J'ai MDB qui est à l'écoute de file d'attente JMS. lorsque le MDB prendre un message, il envoi un msg via TCP de certains le modem.
parfois, ce Modem ne marche pas de réponse lorsque le serveur est en attente d'une réponse:

      byte[] byteData = receive(is);

coz je ne peux pas régler timeout sur InputStream.

donc merci pour le conteneur d'EJB le délai d'expiration de transaction(qui est là par défaut) la restauration de l'opération, puis une nouvelle tentative de nouveau exécutée.

ce mécanisme par défaut fonctionne très bien pour moi, le problème est:

Parfois à la transaction, jamais dépassé, et après beaucoup de temps, j'ai le
msg dans la console:

  15:18:22,578 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TransactionReaper_18] - TransactionReaper::check timeout    for TX a6b2232:5f8:4d3591c6:76 in state  RUN
  15:18:22,578 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.BasicAction_58] - Abort of action id a6b2232:5f8:4d3591c6:76 invoked while multiple threads active within it.
  15:18:22,578 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.CheckedAction_2] - CheckedAction::check - atomic action a6b2232:5f8:4d3591c6:76 aborting with 1 threads active!
   15:18:22,578 WARN  [arjLoggerI18N] [com.arjuna.ats.arjuna.coordinator.TransactionReaper_7] - TransactionReaper::doCancellations worker Thread[Thread-10,5,jboss] successfully canceled TX a6b2232:5f8:4d3591c6:76

Aucune idée de quel est le problème? et pourquoi parfois ça marche et parfois ça ne marche pas?

merci,

ray.

source d'informationauteur rayman