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
-------------------------------------------------------------- 

Odpovedet emailem