feat(producer) add transaction producer destroy logic
diff --git a/src/PythonWrapper.cpp b/src/PythonWrapper.cpp
index 6083df9..af80175 100644
--- a/src/PythonWrapper.cpp
+++ b/src/PythonWrapper.cpp
@@ -331,6 +331,15 @@
     }
     return DestroyPushConsumer(consumerInner);
 }
+int PyDestroyTransactionProducer(void *producer) {
+    CProducer *producerInner = (CProducer *) producer;
+    map<CProducer *, PyObject *>::iterator iter;
+    iter = g_TransactionCheckCallBackMap.find(producerInner);
+    if (iter != g_TransactionCheckCallBackMap.end()) {
+        g_TransactionCheckCallBackMap.erase(iter);
+    }
+    return DestroyProducer(producerInner);
+}
 int PyStartPushConsumer(void *consumer) {
     return StartPushConsumer((CPushConsumer *) consumer);
 }
@@ -496,6 +505,7 @@
     def("CreateProducer", PyCreateProducer, return_value_policy<return_opaque_pointer>());
     def("CreateTransactionProducer", PyCreateTransactionProducer, return_value_policy<return_opaque_pointer>());
     def("DestroyProducer", PyDestroyProducer);
+    def("DestroyTransactionProducer", PyDestroyTransactionProducer);
     def("StartProducer", PyStartProducer);
     def("ShutdownProducer", PyShutdownProducer);
     def("SetProducerNameServerAddress", PySetProducerNameServerAddress);
diff --git a/src/PythonWrapper.h b/src/PythonWrapper.h
index ee7026e..8e8e27d 100644
--- a/src/PythonWrapper.h
+++ b/src/PythonWrapper.h
@@ -111,6 +111,7 @@
 void *PyCreateTransactionProducer(const char *groupId, PyObject *localTransactionCheckerCallback);
 
 int PyDestroyProducer(void *producer);
+int PyDestroyTransactionProducer(void *producer);
 int PyStartProducer(void *producer);
 int PyShutdownProducer(void *producer);
 int PySetProducerNameServerAddress(void *producer, const char *namesrv);
diff --git a/test/TestSendMessages.py b/test/TestSendMessages.py
index 9ab8cf2..179e1f1 100644
--- a/test/TestSendMessages.py
+++ b/test/TestSendMessages.py
@@ -32,7 +32,7 @@
     return producer
 
 def transaction_local_checker(msg):
-    print 'begin check for msg: ' + PyGetMessageId(msg)
+    print 'begin check for msg: ' + GetMessageId(msg)
     return TransactionStatus.E_COMMIT_TRANSACTION
 
 def init_transaction_producer():