Dobry den, nejsem si jist, zda to pomuze, s JMS jsme uz delsi dobu nedelal. Zkusil bych po odeslani zpravy zavolat "session.commit()". Je mozne, ze vase transakce ridi kontejner, a tudiz je asi volani teto metody zakazane. Treba vam aspon neco napovi pripadna vyhozena vyjimka... mp.
________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Ing. Jan Novotný Sent: Tuesday, May 29, 2007 18:52 PM To: Java Subject: Spam:Re: Timeout a JMS No vážně nejsem přeborník v J2EE - co se týká chování JMS při použití transakcí, doporučuji k přečtení následující stránky - váží se sice ke starší verzi J2EE, ale základní koncepty budou stále stejné: http://www.javaworld.com/javaworld/jw-02-2002/jw-0315-jms.html?page=2 http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/advanced.html#1026538 (kapitola Using JMS API Local Transactions) Snad zareauje některý z větších J2EE guru ... dle všeho by jich mělo být na tomhle mailing listu víc než dost. Novoj 2007/5/29, Ales Dostal <[EMAIL PROTECTED]>: Tak bohuzel bez uspechu. Zkousel jsem to pres vytvoreni nove transakce, ale stejne ne :( Pr: @Resource(mappedName = "jms/TopicConnectionFactoryPlneni") private TopicConnectionFactory connectionFactory; @Resource(mappedName = "jms/TopicPlneni") private Topic topic; private Connection con = null; private Destination dest = null; private Session session = null; private MessageProducer producer = null; private ObjectMessage oMessage = null; @PostConstruct public void connect() { try { dest = (Destination) topic; con = connectionFactory.createConnection(); session = con.createSession(false, Session.AUTO_ACKNOWLEDGE); producer = session.createProducer(dest); oMessage = session.createObjectMessage(); } catch (Exception e) {} } @PreDestroy public void close() { try { con.close(); } catch (Exception e) {} } public void start() { Plneni p = getPlneni(); p.setProbiha(true); try { oMessage.setObject(p); producer.send(oMessage); } catch (JMSException ex) { ex.printStackTrace(); } } @Timeout public void spust(Timer timer) { start(); // plneni plneni(); end(); } Zkousel jsem, vsechno mozne anotovat metodu start a end jako @TransactionAttribute(value= TransactionAttributeType.REQUIRES_NEW). Ci udelat pro start i end vlastni connection. Uz jsem vazne bezradnej :( -- -------------------------------------------------------------- Ing. Jan Novotný @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ http://blog.novoj.net Myšlenky dne otce Fura --------------------------------------------------------------
