-
1. Re: closing JMS resources
lstine Aug 11, 2009 10:04 PM (in response to lstine)This forum is kind of weak. Here is what I did sort of blindly but it seems to be working fine. In the function annotated @Remove I closed the JMS resources.
@Remove
public void remove()
{
try {
queueSender.close();
} catch (JMSException e) {}
try {
queueSession.close();
} catch (JMSException e) {}
} -
2. Re: closing JMS resources
gena Aug 12, 2009 12:30 AM (in response to lstine)Hm.. Interesting, should we generally close the JMS resources within the Seam-featured-app on JBossAS or not?
-
3. Re: closing JMS resources
asookazian Aug 12, 2009 12:55 AM (in response to lstine)This is a SFSB from the chatroom Seam example:
@Stateful @Name("chatroomAction") @Scope(CONVERSATION) public class ChatRoomAction implements ChatRoomActionWebRemote { @In(create=true) private transient TopicPublisher topicPublisher; @In(create=true) private transient TopicSession topicSession; @In(create=true) Set<String> chatroomUsers; private String username; @Begin public boolean connect(String username) { this.username = username; boolean added = chatroomUsers.add(username); if (added) { publish( new ChatroomEvent("connect", username) ); } return added; } public void sendMessage(String message) { publish( new ChatroomEvent("message", username, message) ); } @End public void disconnect() { chatroomUsers.remove(username); publish( new ChatroomEvent("disconnect", username) ); } public Set<String> listUsers() { return chatroomUsers; } private void publish(ChatroomEvent message) { try { topicPublisher.publish( topicSession.createObjectMessage(message) ); } catch (Exception ex) { throw new RuntimeException(ex); } } @Destroy @Remove public void destroy() {} }
I don't see any close().
from the API doc:
Since a provider may allocate some resources on behalf of a session outside the JVM, clients should close the resources when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough.
There is no need to close the producers and consumers of a closed session.http://72.5.124.55/javaee/5/docs/api/javax/jms/Session.html#close%28%29
-
4. Re: closing JMS resources
asookazian Aug 12, 2009 1:00 AM (in response to lstine)
lance stine wrote on Aug 11, 2009 22:04:
This forum is kind of weak.Yeah, the Seam core devs are on permanent vacation, hitting up the Spring or RoR boards, or are plain not interested in their own framework. Pretty sad. They're somewhat active in the Web Beans forum but there's minimal activity in there anyways.
What ever happened to weekly rotations?
-
5. Re: closing JMS resources
kapitanpetko Aug 12, 2009 5:23 AM (in response to lstine)
lance stine wrote on Aug 11, 2009 22:04:
This forum is kind of weak.Please excuse us for not doing your homework promptly. This is a community forum, you may or you may not get answers.
You might get those late. You might get wrong answers. If you follow the advice on this forum your application may
crash, your servers burn, you might get fired and end up on the streets. The usual disclaimer applies: you get what you
pay for. How much was that again?Having the above in mind, read on.
Here is what I did sort of blindly but it seems to be working fine. In the function annotated @Remove I closed the JMS resources.Those are managed components, they have their own @Destroy methods, which happen to call close.
Cf. seam.jms.ManagedQueueSender, seam.jms.QueueSession and friends.HTH
-
6. Re: closing JMS resources
lstine Aug 13, 2009 7:38 PM (in response to lstine)Hey, I finally got some responses. I must have said the magic words.
No offense to anyone. I am really pleased with Seam. I've posted here several times before. Every time, I've answered my own question. In that situation there isn't a need to come here at all and I don't contribute to other people's topics. It is disappointing. But, I must say thank you to everyone who replied.