1

spring を使用して hornetq (jboss の jms ) を使用しようとしています。しかし、ユーザーを認証できませんでした。ユーザーのクレジット情報を hornetq 認証インターフェースに送信する際に問題が発生しているようです。私の春の設定:

<bean id="jmsJndiTemplate" class="org.springframework.jndi.JndiTemplate">
    <property name="environment">
        <props>
            <prop key="java.naming.factory.initial">${jms.jndi.initialContextFactory}</prop>
            <prop key="java.naming.provider.url">${jms.jndi.providerUrl}</prop>
            <prop key="java.naming.security.principal">${jms.jndi.username}</prop>
            <prop key="java.naming.security.credentials">${jms.jndi.password}</prop>                
            <prop key="java.naming.factory.url.pkgs">${jms.jndi.packagePrefixes}</prop>
        </props>
    </property>
</bean>
<bean id="jmsConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jmsJndiTemplate"/>
    <property name="jndiName" value="${jms.connectionFactory}"/>
</bean>
<bean id="jmsIletisimRawDataSendDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiTemplate" ref="jmsJndiTemplate"/>
    <property name="jndiName" value="${jms.iletisim.rawdata.send}"/>
</bean>

<bean id="jmsConnectionExceptionListener" class="com.marti.jms.ConnectionExceptionListener">
</bean>

<bean id="jmsConnectionPool" class="com.marti.jms.PoolFTConnection" init-method="initConnection" destroy-method="destroyConnection">
    <property name="cf" ref="jmsConnectionFactory"/>
    <property name="exceptionListener" ref="jmsConnectionExceptionListener"/>
    <property name="poolSize" value="${jms.poolSize}"/>           
</bean>

<bean id="iletisimRawDataSender" class="com.marti.jms.MessageSender" depends-on="jmsConnectionPool" init-method="setupSender" destroy-method="destroySender">
    <property name="connections" ref="jmsConnectionPool"/>
    <property name="destination" ref="jmsIletisimRawDataSendDestination"/>
    <property name="sessionsPerConnection" value="${jms.sessionPerConnection}"/>
    <property name="messageTTL" value="${jms.ttl}"/>
</bean>

私は何か間違ったことを使用していますか? (明らかにそうです:))

これがスタックトレースです。

14:52:13,408 ERROR [org.hornetq.core.protocol.core.impl.HornetQPacketHandler] (古い I/O サーバー ワーカー (parentId: 29291087、[id: 0x01bef24f、/0.0.0.0:5445])) 作成に失敗しましたsession : HornetQException[errorCode=105 message=ユーザーを検証できません: null] at org.hornetq.core.security.impl.SecurityStoreImpl.authenticate(SecurityStoreImpl.java:147) [hornetq-core-2.2.13.Final.jar: [hornetq-core-2.2.13.Final.jar:] org.hornetq.core.protocol.core.impl.HornetQPacketHandler で.handleCreateSession(HornetQPacketHandler.java:187) [hornetq-core-2.2.13.Final.jar:] at org.hornetq.core.protocol.core.impl.HornetQPacketHandler.handlePacket(HornetQPacketHandler.java:85) [hornetq-core -2.2.13.Final.jar:] org.hornetq.core.protocol.core.impl.ChannelImpl.handlePacket(ChannelImpl.java:508) [hornetq-core-2.2.13.Final.jar:] at org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.doBufferReceived(RemotingConnectionImpl.java:556) [hornetq- core-2.2.13.Final.jar:] org.hornetq.core.protocol.core.impl.RemotingConnectionImpl.bufferReceived(RemotingConnectionImpl.java:517) [hornetq-core-2.2.13.Final.jar:] org .hornetq.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:533) [hornetq-core-2.2.13.Final.jar:] org.hornetq.core.remoting.impl.netty HornetQChannelHandler.messageReceived(HornetQChannelHandler.java:73) [hornetq-core-2.2.13.Final.jar:] at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100) [netty-3.2.6. Final.jar:] org.jboss.netty.channel にあります。StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:372) [netty-3.2.6.Final.jar:] at org.jboss.netty.channel.StaticChannelPipeline$StaticChannelHandlerContext.sendUpstream(StaticChannelPipeline.java:534) [netty-3.2.6. Final.jar:] org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:287) で [netty-3.2.6.Final.jar:] org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2 で.decode(HornetQFrameDecoder2.java:169) [hornetq-core-2.2.13.Final.jar:] at org.hornetq.core.remoting.impl.netty.HornetQFrameDecoder2.messageReceived(HornetQFrameDecoder2.java:134) [hornetq-core -2.2.13.Final.jar:] at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) [netty-3.2.6.Final.jar:] at org.jboss.netty.channel. StaticChannelパイプライン。sendUpstream(StaticChannelPipeline.java:372) [netty-3.2.6.Final.jar:] org.jboss.netty.channel.StaticChannelPipeline.sendUpstream(StaticChannelPipeline.java:367) [netty-3.2.6.Final.jar:] ] org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) で [netty-3.2.6.Final.jar:] org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) で) [netty-3.2.6.Final.jar:] at org.jboss.netty.channel.socket.oio.OioWorker.run(OioWorker.java:100) [netty-3.2.6.Final.jar:] at org .jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.2.6.Final.jar:] org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:44) ) [netty-3.2.6.Final.jar:] org.jboss.netty.util.VirtualExecutorService$ChildExecutorRunnable.run(VirtualExecutorService.java:181) [netty-3.2.6.Final.jar:] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_37] java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_37]

4

2 に答える 2

2

これは一時的な解決策または回避策ですが、この問題を修正したい、または同じ問題に遭遇したくない人は誰でも; ここに解決策があります:

  • jboss 管理インターフェイスで、画面の右上にある [プロファイル] をクリックします。
  • 左側のツリー メニューで [メッセージング] -> [メッセージング プロバイダー] をクリックします。
  • 右側のペインで、接続しようとしているプロバイダーの [表示] をクリックします。
  • 次に、[JMS プロバイダーの構成] の設定を編集して、[セキュリティを有効にする] を [false] に設定します。
于 2013-01-25T19:16:01.253 に答える
0

認証エラーが発生しているだけですか?

JBoss に付属の addUser スクリプトを使用して、ユーザーとパスワードをユーザーのグループに追加するだけです。

別のエラーが発生している場合は、詳細 (例外スタック トレースなど) が必要です。

于 2013-01-21T15:22:39.913 に答える