복붙노트

[SPRING] 누구든지 정확하게 알고 있습니까? javax.jms.InvalidDestinationException : 대상을 만들 수 없다는 것을 의미합니까?

SPRING

누구든지 정확하게 알고 있습니까? javax.jms.InvalidDestinationException : 대상을 만들 수 없다는 것을 의미합니까?

이 오류가 발생하면 Spring을 사용하여 Tibco Ems Topic에 연결하려고합니다.

다음은 config입니다.

    <jms:listener-container connection-factory="Tcf"    acknowledge="auto" >
    <jms:listener id="ListenerContainer" destination="######" ref="MessageListener" />
</jms:listener-container>

<bean id="MessageListener" class="com.dcc.jms.listeners.TestListener"></bean>


<!-- JNDI Template --> 
<bean id="JndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.provider.url">#</prop>
            <prop key="java.naming.factory.url.pkgs">com.sun.jndi.ldap </prop>
            <prop key="java.naming.factory.initial">com.sun.jndi.ldap.LdapCtxFactory</prop>
        </props>
    </property>
</bean>

<!-- CONNECTION FACTORY -->
<bean id="Tcf"
    class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
    <property name="username" value="" />
    <property name="password" value="" />
    <property name="targetConnectionFactory">
        <bean class="org.springframework.jndi.JndiObjectFactoryBean">
            <property name="jndiTemplate" ref="JndiTemplate" />
            <property name="jndiName" value="#" />
        </bean>
    </property>
</bean>

이것은 정확히 무엇을 의미합니까? 내 세부 정보 또는 구성이 잘못 되었습니까?

해결법

  1. ==============================

    1.JMS 사양은 다음과 같이 정의합니다.

    JMS 사양은 다음과 같이 정의합니다.

    일반적으로 대상 이름이 유효하지 않음을 나타냅니다. 건네받은 파라미터

    Session.createQueue(String qName)
    

    (편집 또는 JNDI에 정의 된) 공급자 이름 지정 규칙을 충족하지 않거나 존재하지 않는 경우가 있습니다. 다른 이유로 인해 (예 : 닫힌 TemporaryQueue를 사용하려고 시도하는 등) 사용할 수 있습니다. 올바른 이름을 지정했는지 확인하기 위해 구성을 다시 확인합니다. 아마도 어딘가에 오류가 있거나 EMS 규칙과 일치하지 않는 무언가를 시도하고있을 것입니다.

  2. ==============================

    2.나는 또한 내가 같은 문제에 직면했을 때 이것을위한 해결책을 찾고 있었다.

    나는 또한 내가 같은 문제에 직면했을 때 이것을위한 해결책을 찾고 있었다.

    내 EMS 환경에 문제가있어서 My EMS 환경에는 하나의 주제가 없습니다.

    나는 답을 많이 찾았고 아래에는 내가 가진 단계가있다.

    아래 단계가 있습니다.

    이것은 너를 도울 수있다.

    정보 출처 : http://aajsearch.com/556/connecting-environment-allowed-destination-anyone-please?show=557#a557

  3. ==============================

    3.존재하지 않는 목적지를 참조하는 것 같습니다. 즉, 이름 오류입니다. 아마도 잘못된 JNDI 이름 접두사일까요? 또는 EMS 대기열 이름 대신 JNDI 이름을 사용합니까? 혹은 그 반대로도. 죄송합니다. EMS에서 일한 지 오래되었습니다.

    존재하지 않는 목적지를 참조하는 것 같습니다. 즉, 이름 오류입니다. 아마도 잘못된 JNDI 이름 접두사일까요? 또는 EMS 대기열 이름 대신 JNDI 이름을 사용합니까? 혹은 그 반대로도. 죄송합니다. EMS에서 일한 지 오래되었습니다.

  4. ==============================

    4.tibco 아래의 ems 폴더에있는 queues.conf 파일을 찾고 '>'을 사용하여 동적 대기열 생성을 활성화하십시오. 이것은 나를 위해 오류를 해결.

    tibco 아래의 ems 폴더에있는 queues.conf 파일을 찾고 '>'을 사용하여 동적 대기열 생성을 활성화하십시오. 이것은 나를 위해 오류를 해결.

  5. from https://stackoverflow.com/questions/6901043/does-anyone-know-exactly-what-javax-jms-invaliddestinationexception-not-allowed by cc-by-sa and MIT license