[ISSUE #291] Use separate factory for trace producer of push consumer.

fix(trace): use a separate factory for trace producer of push consumer. 
diff --git a/src/consumer/DefaultMQPushConsumerImpl.cpp b/src/consumer/DefaultMQPushConsumerImpl.cpp
index 40dc291..12fddd3 100644
--- a/src/consumer/DefaultMQPushConsumerImpl.cpp
+++ b/src/consumer/DefaultMQPushConsumerImpl.cpp
@@ -1100,7 +1100,7 @@
 void DefaultMQPushConsumerImpl::createMessageTraceInnerProducer() {
   m_DefaultMQProducerImpl = std::make_shared<DefaultMQProducerImpl>(getGroupName());
   m_DefaultMQProducerImpl->setMessageTrace(false);
-  m_DefaultMQProducerImpl->setInstanceName(getInstanceName());
+  m_DefaultMQProducerImpl->setInstanceName("MESSAGE_TRACE_" + getInstanceName());
   const SessionCredentials& session = getSessionCredentials();
   m_DefaultMQProducerImpl->setSessionCredentials(session.getAccessKey(), session.getSecretKey(),
                                                  session.getAuthChannel());
@@ -1109,7 +1109,7 @@
   }
   m_DefaultMQProducerImpl->setNameSpace(getNameSpace());
   // m_DefaultMQProducerImpl->setNamesrvDomain(getNamesrvDomain());
-  m_DefaultMQProducerImpl->start(false);
+  m_DefaultMQProducerImpl->start();
 }
 void DefaultMQPushConsumerImpl::shutdownMessageTraceInnerProducer() {
   if (!getMessageTrace()) {
@@ -1117,7 +1117,7 @@
   }
   if (m_DefaultMQProducerImpl) {
     LOG_INFO("Shutdown Message Trace Inner Producer In Consumer.");
-    m_DefaultMQProducerImpl->shutdown(false);
+    m_DefaultMQProducerImpl->shutdown();
   }
 }
 bool DefaultMQPushConsumerImpl::hasConsumeMessageHook() {