Author: tabish
Date: Tue Nov 2 20:57:04 2010
New Revision: 1030213
URL: http://svn.apache.org/viewvc?rev=1030213&view=rev
Log:
https://issues.apache.org/activemq/browse/AMQNET-290
Add interfaces for ConnectionFactory, Connection, and Session instances that
offer participation in Transactions based on the .NET System.Transactions model.
Added:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs
(with props)
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs
(with props)
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs
(with props)
Added:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs
URL:
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs?rev=1030213&view=auto
==============================================================================
---
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs
(added)
+++
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs
Tue Nov 2 20:57:04 2010
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.NMS
+{
+ /// <summary>
+ /// The INetTxConnection extends the functionality of the IConnection
interface by
+ /// adding the createNetTxSession method (optional).
+ ///
+ /// The INetTxConnection interface is optional. NMS providers are not
required to support this
+ /// interface. This interface is for use by NMS providers to support
transactional environments.
+ /// </summary>
+ public interface INetTxConnection : IConnection
+ {
+ /// <summary>
+ /// Creates a INetTxSession object.
+ /// </summary>
+ INetTxSession CreateNetTxSession();
+ }
+}
+
Propchange:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnection.cs
------------------------------------------------------------------------------
svn:eol-style = native
Added:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs
URL:
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs?rev=1030213&view=auto
==============================================================================
---
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs
(added)
+++
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs
Tue Nov 2 20:57:04 2010
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.NMS
+{
+ /// <summary>
+ /// Some application servers provide support for use in a .NET
transactions (optional).
+ ///
+ /// To include NMS API transactions in a MSDTC transaction, an application
server requires a
+ /// .NET Transaction aware NMS provider that is capable of mapping the
MSDTC transaction model
+ /// into operations that are supported by the application server. An NMS
provider exposes its
+ /// .NET Transaction support using an INetTxConnectionFactory object,
which an application
+ /// server uses to create INetTxConnection objects.
+ ///
+ /// The INetTxConnectionFactory interface is optional. NMS providers are
not required to support this
+ /// interface. This interface is for use by NMS providers to support
transactional environments.
+ /// </summary>
+ public interface INetTxConnectionFactory : IConnectionFactory
+ {
+ /// <summary>
+ /// Creates a new connection
+ /// </summary>
+ INetTxConnection CreateNetTxConnection();
+
+ /// <summary>
+ /// Creates a new connection with the given user name and password
+ /// </summary>
+ INetTxConnection CreateNetTxConnection(string userName, string
password);
+ }
+}
+
Propchange:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxConnectionFactory.cs
------------------------------------------------------------------------------
svn:eol-style = native
Added:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs
URL:
http://svn.apache.org/viewvc/activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs?rev=1030213&view=auto
==============================================================================
--- activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs
(added)
+++ activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs
Tue Nov 2 20:57:04 2010
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+
+namespace Apache.NMS
+{
+ /// <summary>
+ /// The INetTxSession interface extends the capability of Session by
adding access to a NMS
+ /// provider's support for the Distributed Transactions (optional). The
transaction support
+ /// leverages the .NET Frameworks System.Transactions API.
+ ///
+ /// The NMS Provider implements this interface by participating in the
current ambient transaction
+ /// as defined by the System.Transactions.Transaction.Current static
member. Whenever a new
+ /// Transaction is entered the NMS provider should enlist in that
transaction. When there is no
+ /// ambient transaction then the NMS Prodiver should allow the
INetTxSession instance to behave
+ /// as a session that is in Auto Acknowledge mode.
+ ///
+ /// Calling the Commit or Rollback methods on a INetTxSession instance
should throw an exception
+ /// as those operations are controlled by the Transaction Manager.
+ ///
+ /// The INetTxSession interface is optional. NMS providers are not
required to support this
+ /// interface. This interface is for use by NMS providers to support
transactional environments.
+ /// </summary>
+ public interface INetTxSession : ISession
+ {
+ }
+}
+
Propchange:
activemq/activemq-dotnet/Apache.NMS/trunk/src/main/csharp/INetTxSession.cs
------------------------------------------------------------------------------
svn:eol-style = native