无法向Solace MQ发送批量消息

时间:2016-12-28 20:26:47

标签: jms spring-integration solace solace-mq

在我的应用程序中,我们使用Solace MQ并使用HermesJMS工具在本地环境中向MQ发送消息。

当我尝试向MQ发送批量消息时,我得到以下提到的异常。我使用Spring Integration代码来使用来自Solace MQ的消息

void Impersonate()
{
    DWORD logonType = LOGON32_LOGON_INTERACTIVE;
    DWORD logonProvider = LOGON32_PROVIDER_DEFAULT;
    HANDLE userToken;
    HANDLE hMutex;
    DWORD err;

    LPSTR user = "zoom"; // the user I created myself on my machine. 
    // It has Administrator privileges, and my account, 
    // from which I start the app, is Admin too
    LPSTR password = "zoom";
    LPSTR domain = ".";
    hMutex = NULL;

    LogonUserA(user, domain, password, logonType, logonProvider,&userToken);

    // just to make sure that mutexes are created fine before impersonation
    hMutex = CreateMutexA( NULL, FALSE, "mutex_good" );  

    ImpersonateLoggedOnUser(userToken);

    hMutex = CreateMutexA( NULL, FALSE, "mutex_797" ); // I can set any 
                                                       // random name, no difference
    if( hMutex == NULL )
    {
        err = GetLastError();
        // here err is ERROR_ACCESS_DENIED 
    }

    CloseHandle(userToken);
}

此异常与int-jms中的某些属性有关:使用Spring集成或Solace MQ属性的消息驱动通道适配器。请建议。

1 个答案:

答案 0 :(得分:2)

该异常意味着您在单个事务中发送过多消息。

截至目前,Solace在单个交易中最多支持256条消息。增加最大值是Solace的特征候选列表,但尚未提交给特定版本。

目前,唯一的解决方法是减少事务中的消息数量。