我在Java中有一个小的gui swing application(Chat),我需要多次运行它,每次它都应该给我一个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>

最佳答案

毫无疑问,一旦启动一个应用程序就可以正常运行,而第二次启动它则无济于事,因为它们是在不同的JVM中启动的。如果第一次启动尝试打开TCP套接字或锁定文件,而第二次启动尝试执行相同的操作,则可能会出现问题。

但是我认为原因是您在“运行配置”中选中了“仅单个实例”复选框,该复选框恰好用于使IntelliJ一次仅启动应用程序实例的一个实例。

如果不是这种情况,请提供更多详细信息:启动第二个应用程序时会发生什么?你有例外吗?如果是这样,堆栈跟踪是什么?如果没有,您的应用程序会做什么?

关于java - 在Java中两次运行GUI应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14568367/

10-17 01:30