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