我有一个Websphere Application Server 8.0.0.6,它作为RAD的一部分安装.
我需要从Eclipse Java EE Kepler或Luna运行服务器.禁用管理安全性时没有问题.但是,一旦启用安全性,服务器将无法完全启动,或者Ecplise无法检测到它.
进度条停止在23%.记录的最后一条消息是"Server server1 open for e-business".然而,状态仍然是"开始".过了一会儿,我得到一个错误,抱怨服务器没有在300秒内启动.然后它尝试停止服务器,并且无限期地"停止".
服务器启动了,Eclipse似乎无法看到它.我无法从Eclipse中访问管理控制台(虽然我可以使用浏览器),我无法发布或调试应用程序,我无法从Eclipse停止服务器.
Kepler和Luna都会发生这种情况.
服务器在RAD中启动正常,或者在启动脚本启动时启动.
我已经检查了从RAD挂起的服务器服务器1打开电子商务的启动websphere服务器.还有一个类似的问题:RAD中的Websphere在启动时挂起,但没有解决方案.
更新:问题是在Websphere启动之后Ecipse和Websphere之间的通信(正如wFateem也指出的那样).
Eclipse对Websphere进行SOAP调用以检查状态.如果在WAS中禁用了管理安全性,它将接受纯HTTP中的SOAP调用.启用安全性后,仅允许HTTPS.
我使用Eclipse内置的TCP-Monitor检查了Eclipse和WAS之间的通信.使用禁用的安全性,我可以看到成功的SOAP调用.启用安全性后,我希望只看到二进制SSL数据.但是,Eclipse仍在尝试使用HTTP,当然没有任何成功.
Eclipse具有WAS服务器的设置,以指示服务器是安全的,以及用于调用的用户和密码.它甚至有一个与SSL通信有关的标志("在SSL握手期间自动信任服务器证书").但是,由于某些原因,它还没有使用SSL.
在我的旧开发机器上,我没有遇到任何问题,几天前它被我当前的机器取代了.
因此,当前状态是:Eclipse在与WAS通信时不使用SSL,即使它知道服务器是安全的.
现在的问题是:Eclipse没有使用SSL与安全服务器通信,我做错了什么?
我尝试在Websphere中使用JSR 352模式下的Spring Batch.(Websphere 8.0,Spring Batch 3.0.1)
据我理解文档,spring应该处理事务,即在调用一个步骤的ItemReader之前开始一个事务,在调用ItemWriter之后提交事务,等等.
但是,在我的情况下,调用ItemReader时没有事务处于活动状态(userTransaction.getStatus()== 6).如果我自己在itemReader中启动事务,我的代码可以工作,但我的理解是我不应该这样做.
我怀疑问题与我设置批次的方式有关.
这是一个显示问题的示例代码:
META_INF/batch.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<tx:jta-transaction-manager />
</beans>
Run Code Online (Sandbox Code Playgroud)
META-INF /批处理作业/ samplebatch3.xml:
<?xml version="1.0" encoding="UTF-8"?>
<job version="1.0"
id="samplebatch3"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/jobXML_1_0.xsd">
<step id="step1">
<chunk checkpoint-policy="item"
item-count="5">
<reader ref="my.jbatchtest.samplebatch3.SampleReader" />
<processor ref="my.jbatchtest.samplebatch3.SampleProcessor"/>
<writer ref="my.jbatchtest.samplebatch3.SampleWriter" />
</chunk>
</step>
</job>
Run Code Online (Sandbox Code Playgroud)
ItemReader:
package my.jbatchtest.samplebatch3;
import java.io.Serializable;
import javax.batch.api.chunk.ItemReader;
import javax.naming.InitialContext;
import javax.transaction.UserTransaction;
import org.xadisk.connector.outbound.XADiskConnectionFactory;
public class SampleReader implements ItemReader {
private UserTransaction utx;
public SampleReader() { …Run Code Online (Sandbox Code Playgroud)