01: /**
02: * JOnAS: Java(TM) Open Application Server
03: * Copyright (C) 1999 Bull S.A.
04: * Contact: jonas-team@objectweb.org
05: *
06: * This library is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public
08: * License as published by the Free Software Foundation; either
09: * version 2.1 of the License, or any later version.
10: *
11: * This library is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14: * Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public
17: * License along with this library; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
19: * USA
20: *
21: * --------------------------------------------------------------------------
22: * $Id: MessageDrivenBean.java 7773 2005-12-13 13:10:21Z danesa $
23: * --------------------------------------------------------------------------
24: */package org.objectweb.jonas.container;
25:
26: import java.util.Set;
27:
28: import org.objectweb.jonas_ejb.container.JFactory;
29: import org.objectweb.jonas_ejb.deployment.api.MessageDrivenDesc;
30:
31: /**
32: * This class implements the MessageDrivenBean type specified in JSR77
33: * @author Adriana Danes
34: *
35: */
36: public class MessageDrivenBean extends EJB {
37:
38: /**
39: * @param objectName JMX object name
40: * @param factoryToManage JFactory factory to manage
41: */
42: public MessageDrivenBean(String objectName, JFactory factoryToManage) {
43: super (objectName, factoryToManage);
44: }
45:
46: /**
47: * @return the name of the associate destination
48: */
49: public String getMdbJMSAssociateDestinationName() {
50: return ((MessageDrivenDesc) ejbToManage
51: .getDeploymentDescriptor()).getDestinationJndiName();
52: }
53:
54: /**
55: * return all the destination used by this ejb, including his associate destination
56: * @return String set with the name of the Ejb Destinations
57: */
58: public Set getAllJMSDestinationName() {
59: // call the super method
60: Set result = super .getAllJMSDestinationName();
61: result.add(getMdbJMSAssociateDestinationName());
62: return result;
63: }
64:
65: /**
66: * Reduce number of instances in memory
67: */
68: public void reduceCache() {
69: ((JFactory) ejbToManage).reduceCache();
70: }
71: }
|