1

Javaで小さなGUIスイングアプリケーション(チャット)を使用しています。GUIチャットウィンドウが表示されるたびに、複数回実行する必要があります。

初めて正常に動作します。同じアプリケーションをIntelliJで再度実行しようとすると、GUIウィンドウが生成されなくなります。

どんな助けでも大歓迎です事前にありがとう

public static void main(String[] args) throws IOException, InterruptedException, SQLException {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("sconfig.xml");
    CClient client = (CClient) context.getBean("simpleClient");
    client.init();
}

アプリケーションコンテキスト:

 <bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
    <property name="brokerURL">
        <!-- value>tcp://localhost:61616</value -->
        <value>vm://localhost</value>
    </property>
</bean>

<!-- <bean id="pooledJmsConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"
      destroy-method="stop">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>-->
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="jmsExample" />
</bean>

<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="jmsConnectionFactory" />
</bean>

<bean id="simpleClient" class="com.CClient">
    <property name="template" ref="jmsTemplate"/>
    <property name="destination" ref="destination" />
</bean>

<bean id="messageListener" class="com.ExampleListener" />

<!-- and this is the message listener container -->
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="jmsConnectionFactory"/>
    <property name="destination" ref="destination"/>
    <property name="messageListener" ref="messageListener" />
</bean>
4

1 に答える 1

2

アプリケーションを一度起動すると正常に動作する理由はありません。また、アプリケーションは別のJVMで起動されるため、2回目に起動しても何も起こりません。最初の起動でTCPソケットを開こうとしたり、ファイルをロックしたりして、2回目の起動で同じことを実行しようとすると、問題が発生する可能性があります。

しかし、説明は、実行構成の「単一インスタンスのみ」チェックボックスをオンにしたことだと思います。これは、IntelliJがアプリケーションインスタンスの1つのインスタンスのみを一度に起動するようにするために正確に使用されます。

そうでない場合は、詳細を提供してください。2番目のアプリを起動するとどうなりますか?例外はありますか?もしそうなら、スタックトレースは何ですか?そうでない場合、アプリケーションは何をしますか?

于 2013-01-28T18:39:11.647 に答える