[jboss-cvs] JBossAS SVN: r70019 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Feb 21 22:30:09 EST 2008
Author: ALRubinger
Date: 2008-02-21 22:30:09 -0500 (Thu, 21 Feb 2008)
New Revision: 70019
Modified:
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/LocalProducerFactory.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerFactory.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerManagerImpl.java
projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/RemoteProducerFactory.java
Log:
Resolved API leak for Consumer Tests
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/LocalProducerFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/LocalProducerFactory.java 2008-02-21 22:01:36 UTC (rev 70018)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/LocalProducerFactory.java 2008-02-22 03:30:09 UTC (rev 70019)
@@ -61,7 +61,8 @@
ProducerManagerImpl mImpl = null;
- mImpl = new ProducerManagerImpl(pImpl, dest, factoryName, props.delivery(), props.timeToLive(), props.priority(), methodMap, initialContextProperties);
+ mImpl = new ProducerManagerImpl(dest, factoryName, props.delivery(), props.timeToLive(), props.priority(),
+ methodMap, initialContextProperties, pImpl.transacted(), pImpl.acknowledgeMode());
Interceptor[] interceptors = {mImpl};
ProducerProxy ih = new ProducerProxy(mImpl, interceptors);
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerFactory.java 2008-02-21 22:01:36 UTC (rev 70018)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerFactory.java 2008-02-22 03:30:09 UTC (rev 70019)
@@ -77,22 +77,22 @@
methodMap = new HashMap();
- Method[] methods = producer.getMethods();
- for (int i = 0 ; i < methods.length ; ++i)
- {
- MessageProperties mProps = (MessageProperties)methods[i].getAnnotation(MessageProperties.class);
- if (mProps != null)
- {
- try
- {
- methodMap.put(new Long(MethodHashing.methodHash(methods[i])), new MessagePropertiesImpl(mProps));
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
- }
+// Method[] methods = producer.getMethods();
+// for (int i = 0 ; i < methods.length ; ++i)
+// {
+// MessageProperties mProps = (MessageProperties)methods[i].getAnnotation(MessageProperties.class);
+// if (mProps != null)
+// {
+// try
+// {
+// methodMap.put(new Long(MethodHashing.methodHash(methods[i])), new MessagePropertiesImpl(mProps));
+// }
+// catch (Exception e)
+// {
+// throw new RuntimeException(e);
+// }
+// }
+// }
Producer p = (Producer) producer.getAnnotation(Producer.class);
if (p == null)
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerManagerImpl.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerManagerImpl.java 2008-02-21 22:01:36 UTC (rev 70018)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/ProducerManagerImpl.java 2008-02-22 03:30:09 UTC (rev 70019)
@@ -45,7 +45,6 @@
import org.jboss.ejb3.InitialContextFactory;
import org.jboss.ejb3.annotation.DeliveryMode;
import org.jboss.ejb3.annotation.MessageProperties;
-import org.jboss.ejb3.annotation.Producer;
import org.jboss.logging.Logger;
/**
@@ -62,7 +61,6 @@
private static final int PERSISTENT = javax.jms.DeliveryMode.PERSISTENT;
private static final int NON_PERSISTENT = javax.jms.DeliveryMode.NON_PERSISTENT;
- protected Producer producer;
protected Destination destination;
protected String factoryLookup;
@@ -79,10 +77,12 @@
protected transient String password;
protected transient InitialContext initialContext;
protected Hashtable initialContextProperties;
+
+ protected boolean transacted;
+ protected int acknowledgeMode;
public void writeExternal(ObjectOutput out) throws IOException
{
- out.writeObject(producer);
out.writeObject(destination);
out.writeObject(factoryLookup);
out.writeInt(deliveryMode);
@@ -94,13 +94,14 @@
{
out.writeObject(factory);
}
+ out.writeBoolean(this.transacted);
+ out.writeInt(this.acknowledgeMode);
}
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
{
- producer = (Producer) in.readObject();
destination = (Destination) in.readObject();
- factoryLookup = (String) in.readObject();
+ factoryLookup = (String) in.readObject();
deliveryMode = in.readInt();
timeToLive = in.readInt();
priority = in.readInt();
@@ -129,40 +130,31 @@
{
factory = (ConnectionFactory) in.readObject();
}
+ this.transacted = in.readBoolean();
+ this.acknowledgeMode = in.readInt();
}
- public ProducerManagerImpl(Producer producer, Destination destination, ConnectionFactory factory, DeliveryMode deliveryMode, int timeToLive, int priority, HashMap methodMap, Hashtable initialContextProperties)
+ public ProducerManagerImpl(Destination destination, ConnectionFactory factory, DeliveryMode deliveryMode,
+ int timeToLive, int priority, HashMap methodMap, Hashtable initialContextProperties, boolean transacted,
+ int acknowledgeMode)
{
- this.initialContextProperties = initialContextProperties;
- try
- {
- this.initialContext = InitialContextFactory.getInitialContext(initialContextProperties);
- }
- catch (NamingException e)
- {
- throw new RuntimeException(e);
- }
- this.producer = producer;
- this.destination = destination;
+ this.init(destination, deliveryMode, timeToLive, priority, methodMap, initialContextProperties, transacted,
+ acknowledgeMode);
this.factory = factory;
-
- int mode = deliveryMode.ordinal();
- switch (mode)
- {
- case PERSISTENT:
- this.deliveryMode = javax.jms.DeliveryMode.PERSISTENT;
- break;
- case NON_PERSISTENT:
- this.deliveryMode = javax.jms.DeliveryMode.NON_PERSISTENT;
- break;
- }
- this.timeToLive = timeToLive;
- this.priority = priority;
- this.methodMap = methodMap;
}
- public ProducerManagerImpl(Producer producer, Destination destination, String factory, DeliveryMode deliveryMode, int timeToLive, int priority, HashMap methodMap, Hashtable initialContextProperties)
+ public ProducerManagerImpl(Destination destination, String factory, DeliveryMode deliveryMode, int timeToLive,
+ int priority, HashMap methodMap, Hashtable initialContextProperties, boolean transacted, int acknowledgeMode)
{
+ this.init(destination, deliveryMode, timeToLive, priority, methodMap, initialContextProperties, transacted,
+ acknowledgeMode);
+ this.factoryLookup = factory;
+ }
+
+ private void init(Destination destination, DeliveryMode deliveryMode, int timeToLive, int priority,
+ HashMap methodMap, Hashtable initialContextProperties, boolean transacted, int acknowledgeMode)
+ {
+
this.initialContextProperties = initialContextProperties;
try
{
@@ -172,23 +164,23 @@
{
throw new RuntimeException(e);
}
- this.producer = producer;
this.destination = destination;
- this.factoryLookup = factory;
-
+
int mode = deliveryMode.ordinal();
switch (mode)
{
- case PERSISTENT:
+ case PERSISTENT :
this.deliveryMode = javax.jms.DeliveryMode.PERSISTENT;
break;
- case NON_PERSISTENT:
+ case NON_PERSISTENT :
this.deliveryMode = javax.jms.DeliveryMode.NON_PERSISTENT;
break;
}
this.timeToLive = timeToLive;
this.priority = priority;
this.methodMap = methodMap;
+ this.transacted = transacted;
+ this.acknowledgeMode = acknowledgeMode;
}
@@ -228,7 +220,7 @@
{
connection = factory.createConnection();
}
- session = connection.createSession(producer.transacted(), producer.acknowledgeMode());
+ session = connection.createSession(this.transacted, this.acknowledgeMode);
msgProducer = session.createProducer(destination);
msgProducer.setDeliveryMode(deliveryMode);
msgProducer.setTimeToLive(timeToLive);
@@ -267,17 +259,17 @@
throw new RuntimeException("You must call connect() on the producer. The JMS session has not been set");
}
ObjectMessage msg = session.createObjectMessage((Serializable) invocation);
- MethodInvocation mi = (MethodInvocation) invocation;
- MessageProperties props = (MessageProperties)methodMap.get(new Long(mi.getMethodHash()));
- if (props != null)
- {
- int del = (props.delivery() == DeliveryMode.PERSISTENT) ? javax.jms.DeliveryMode.PERSISTENT : javax.jms.DeliveryMode.NON_PERSISTENT;
- msgProducer.send(msg, del, props.priority(), props.timeToLive());
- }
- else
- {
- msgProducer.send(msg);
- }
+// MethodInvocation mi = (MethodInvocation) invocation;
+// MessageProperties props = (MessageProperties)methodMap.get(new Long(mi.getMethodHash()));
+// if (props != null)
+// {
+// int del = (props.delivery() == DeliveryMode.PERSISTENT) ? javax.jms.DeliveryMode.PERSISTENT : javax.jms.DeliveryMode.NON_PERSISTENT;
+ msgProducer.send(msg, this.deliveryMode, this.priority, this.timeToLive);
+// }
+// else
+// {
+// msgProducer.send(msg);
+// }
return null;
}
}
Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/RemoteProducerFactory.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/RemoteProducerFactory.java 2008-02-21 22:01:36 UTC (rev 70018)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/mdb/RemoteProducerFactory.java 2008-02-22 03:30:09 UTC (rev 70019)
@@ -71,7 +71,8 @@
ProducerManagerImpl mImpl = null;
- mImpl = new ProducerManagerImpl(pImpl, dest, factory, props.delivery(), props.timeToLive(), props.priority(), methodMap, initialContextProperties);
+ mImpl = new ProducerManagerImpl(dest, factory, props.delivery(), props.timeToLive(), props.priority(), methodMap,
+ initialContextProperties, pImpl.transacted(), pImpl.acknowledgeMode());
Interceptor[] interceptors = {mImpl};
ProducerProxy ih = new ProducerProxy(mImpl, interceptors);
More information about the jboss-cvs-commits
mailing list