You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2007/03/01 23:43:48 UTC
svn commit: r513543 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq:
ActiveMQConnection.java ActiveMQConnectionFactory.java ActiveMQSession.java
Author: rajdavies
Date: Thu Mar 1 14:43:47 2007
New Revision: 513543
URL: http://svn.apache.org/viewvc?view=rev&rev=513543
Log:
provide the option to always send messages synchronously - even if the messages are
non-persistent
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java?view=diff&rev=513543&r1=513542&r2=513543
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnection.java Thu Mar 1 14:43:47 2007
@@ -132,6 +132,7 @@
private boolean optimizeAcknowledge = false;
private boolean nestedMapAndListEnabled = true;
private boolean useRetroactiveConsumer;
+ private boolean alwaysSyncSend;
private int closeTimeout = 15000;
private final Transport transport;
@@ -1301,6 +1302,22 @@
public void setUseAsyncSend(boolean useAsyncSend) {
this.useAsyncSend = useAsyncSend;
}
+
+ /**
+ * @return true if always sync send messages
+ */
+ public boolean isAlwaysSyncSend(){
+ return this.alwaysSyncSend;
+ }
+
+ /**
+ * Set true if always require messages to be sync sent
+ * @param alwaysSyncSend
+ */
+ public void setAlwaysSyncSend(boolean alwaysSyncSend){
+ this.alwaysSyncSend=alwaysSyncSend;
+ }
+
/**
* Cleans up this connection so that it's state is as if the connection was
@@ -1929,8 +1946,5 @@
public String toString() {
return "ActiveMQConnection {id="+info.getConnectionId()+",clientId="+info.getClientId()+",started="+started.get()+"}";
- }
-
-
-
+ }
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java?view=diff&rev=513543&r1=513542&r2=513543
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQConnectionFactory.java Thu Mar 1 14:43:47 2007
@@ -87,6 +87,7 @@
private boolean useRetroactiveConsumer;
private boolean nestedMapAndListEnabled = true;
JMSStatsImpl factoryStats = new JMSStatsImpl();
+ private boolean alwaysSyncSend;
static protected final Executor DEFAULT_CONNECTION_EXECUTOR = new ScheduledThreadPoolExecutor(5, new ThreadFactory() {
public Thread newThread(Runnable run) {
@@ -425,6 +426,21 @@
public void setUseAsyncSend(boolean useAsyncSend) {
this.useAsyncSend = useAsyncSend;
}
+
+ /**
+ * @return true if always sync send messages
+ */
+ public boolean isAlwaysSyncSend(){
+ return this.alwaysSyncSend;
+ }
+
+ /**
+ * Set true if always require messages to be sync sent
+ * @param alwaysSyncSend
+ */
+ public void setAlwaysSyncSend(boolean alwaysSyncSend){
+ this.alwaysSyncSend=alwaysSyncSend;
+ }
public String getUserName() {
return userName;
@@ -553,6 +569,7 @@
props.setProperty("alwaysSessionAsync", Boolean.toString(isAlwaysSessionAsync()));
props.setProperty("optimizeAcknowledge", Boolean.toString(isOptimizeAcknowledge()));
props.setProperty("statsEnabled",Boolean.toString(isStatsEnabled()));
+ props.setProperty("alwaysSyncSend",Boolean.toString(isAlwaysSyncSend()));
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java?view=diff&rev=513543&r1=513542&r2=513543
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQSession.java Thu Mar 1 14:43:47 2007
@@ -1594,11 +1594,11 @@
if(this.debug){
log.debug("Sending message: "+msg);
}
- if(!msg.isPersistent()||connection.isUseAsyncSend()||txid!=null){
- this.connection.asyncSendPacket(msg);
- }else{
- this.connection.syncSendPacket(msg);
- }
+ if(!connection.isAlwaysSyncSend()&&(!msg.isPersistent()||connection.isUseAsyncSend()||txid!=null)){
+ this.connection.asyncSendPacket(msg);
+ }else{
+ this.connection.syncSendPacket(msg);
+ }
}
}