Tag: websphere

可以在任何服务器上部署war文件吗?

如果这个问题很愚蠢,请原谅我。 假设我使用WebSphere应用程序服务器使用Spring框架和MS SQL-Server数据库开发J2EE Web应用程序。 我稍后为此应用程序创建一个WAR文件。 我可以在Tomcat服务器上部署此WAR文件而无需更改代码吗? 或者我的问题是,这可以由仅提供Tomcat服务器的Web主机托管吗? 如果是,是否需要更改代码? 如果无法部署,你可以建议我做什么,因为我还没有在tomcat服务器上开发任何应用程序。 我开发的所有应用程序都使用RAD在Websphere App Server上。

即使在Websphere中停止应用程序后,线程仍会继续运行

我有一个长期运行的线程,使用org.springframework.scheduling.commonj.WorkManagerTaskExecutor和Spring创建,并在Websphere Application Server 8中运行。 问题是即使应用程序已停止,此线程仍会继续运行。 该线程也需要停止,但它没有发生。 我甚至尝试使用Thread.currentThread().isInterrupted()来检查当前线程是否被中断但它总是返回false 。 所以没有办法通过我的代码知道线程应该继续运行还是停止。 这是我对WorkManagerTaskExecutor的弹簧配置: 线程正在以这种方式执行: Thread t = new EmailReaderThread(email); workManagerTaskExecutor.execute(t); 我错过了什么? 我能做什么,每当应用程序停止时,应用程序的线程(应用程序生成的线程)也会停止? 我认为这不被视为非托管线程,因为我使用适当的WorkManager注册线程,容器由JNDI作为资源公开。 更新:这是创建线程的代码。 @Service @Transactional public class SmsServiceHypermedia implements SmsService { @Autowired private WorkManagerTaskExecutor workManagerTaskExecutor; public SmsServiceHypermedia() { createEmailReaderThread(); } private void createEmailReaderThread() { log.debug(“Generating Email Reader Threads…”); Email email = getDefaultEmail(); //obtain the default Email object, […]

在哪里可以找到适用于Windows的IBM JDK / JRE的特定版本?

我正在尝试使用一个对JDK敏感的Oracle软件与Websphere一起工作,我需要找到一些特定版本的IBM JDK来尝试。 问题在于IBM并没有像Sun / Oracle那样随时提供这些产品,而且我能够获得的所有版本都因某种原因无法正常工作。 具体来说,我需要一个: 适用于Windows的 IBM Java 5 SR9(理想) 适用于Windows的 IBM Java 5 SR2 适用于Windows的 IBM Java 5 SR10 我怎么能直接从IBM获得这些? 我的公司有一份Websphere的支持合同,如果我能告诉他们去哪里,我希望我们的Websphere工程师可以下载它。

无法在websphere 8.5.5中启动我的应用程序

当我在websphere 8.5.5中启动应用程序时出现错误,应用程序无法启动,我搜索了日志并得到了这个堆栈跟踪。 你们有什么想法吗? [8/21/14 17:58:57:437 EEST] 00000001 ContainerHelp E WSVR0501E: Error creating component com.ibm.ws.runtime.component.CompositionUnitMgrImpl@a0ccb3b2 com.ibm.ws.exception.RuntimeWarning: com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: Failed to load webapp: java.lang.LinkageError: javax/servlet/jsp/JspApplicationContext.addELResolver(Ljavax/el/ELResolver&#59;)V at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:432) at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1175) at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370) at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639) at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968) at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:774) at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2182) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445) at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116) at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994) at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:502) at […]

WebSphere和Maven的deployment.xml

我已经使用Maven而不是RAD的内置工具转换了要构建和部署的应用程序。 它大部分都很顺利,但最后一个“问题”是应用程序需要一个“父级/应用程序”的类加载器策略。 我想自动执行此操作,因为目前,当我使用Maven的WAS插件时 ,它似乎完全卸载并重新安装应用程序,因此每次代码更改并重新部署应用程序时,我都必须通过管理控制台。 如果我可以在部署的EAR中内置类加载器设置,那么工作会更快。 据我所知,类加载器配置由RAD管理的文件“deployment.xml”控制,该文件位于我的EAR项目的“META-INF / ibmconfig”文件夹中。 我猜我可以在我的EAR中包含这个目录结构,当它部署到WebSphere时它会正常工作,但我更关心这个文件的内容。 它看起来像这样: … 应用程序中的所有模块都有ID,例如EJBModuleDeployment_1460348645719 ,我猜这些是在应用程序最初通过RAD发布到WAS时创建的。 如果我将新的Maven化项目提供给新开发人员,他们是否能够使用此deployment.xml文件,或者是否存在特定于通常由RAD管理的特定WAS实例的部分文件? 此外,如果我稍后向应用程序添加更多模块,我将如何使用Maven生成新的模块ID? 我可以只EJBModuleDeployment_123一个ID,比如EJBModuleDeployment_123还是应该由RAD / WAS管理呢? 我也想知道我是否可以写一个Jython脚本来做这个并以某种方式将它与Maven集成,但我不确定这是否有用或者是否有必要。

IBM Websphere JPA配置 – 如何更新persistence.xml

我是EJB 3和JPA的新手。 我在appserver中创建了一个数据源,它是jdbc/AppDataSource 。 默认持久性提供程序保留为com.ibm.websphere.persistence.PersistenceProviderImpl 。 我将默认的jta数据源JNDI名称AppDataSource为AppDataSource本身。 我对JTA和非JTA感到困惑。 它们的区别是什么? 我生成了实体并在bean中创建了一个EntityTransaction对象。 在调用persist()和commit()方法时,我收到一个错误: javax.ejb.EJBException: See nested exception; nested exception is: org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property. Caused by: org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property. openjpa如何在这里展示? 截至目前,我的persistence.xml仅包含实体类名称。 如何使其使用数据源的默认appserver值。 或者我怎样才能在persistence.xml提供jpa提供程序和数据源详细信息的详细信息? 请提供您的意见。

Websphere多个slf4j logback绑定可以解决

我在Websphere v8.5.5.0上运行一个应用程序,并尝试使用logback作为我的日志框架。 当我尝试启动应用程序时,我遇到类似于此错误的问题: [10/03/14 13:19:00:900 EST] 00000097 SystemErr R SLF4J: Class path contains multiple SLF4J bindings. [10/03/14 13:19:00:900 EST] 00000097 SystemErr R SLF4J: Found binding in [bundleresource://266.fwk1755217229:1/org/slf4j/impl/StaticLoggerBinder.class] [10/03/14 13:19:00:900 EST] 00000097 SystemErr R SLF4J: Found binding in [wsjar:file:/C:/Program%20Files%20(x86)/IBM/WebSphere/AppServer_1/profiles/AppSrv01/installedApps/AUSSYDCVTLJ007Node02Cell/myapp.ear/lib/logback-classic-1.1.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] [10/03/14 13:19:00:900 EST] 00000097 SystemErr R SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. [10/03/14 13:19:01:313 EST] 00000097 SystemErr […]

WebSphere尝试从Internet加载Spring相关的模式

我在j2ee应用程序中运行spring时遇到了一些问题。 简短介绍: 我使用WebSphere 6.1(我不知道它是websphere特定的或更普遍的问题) 工件: web应用程序(war)在WEB-INF / lib文件夹中maven发布所有需要的spring依赖项。 然后将war打包在耳中并在应用程序服务器上进行部署。 我还没有任何弹簧配置文件或应用程序中的spring参考。 只是在WEB-INF/lib jar文件,而不仅仅是spring。 部署应用程序并且应用程序开始加载时,应用程序服务器开始寻找一些spring xml架构: http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tool/spring-tool-2.0.xsd http://www.springframework.org/schema/tool/spring-tool-2.5.xsd http://www.springframework.org/schema/tool/spring-tool-3.0.xsd 它希望通过上面指定的url从互联网上获取它们。 题: 如何强制应用程序服务器使用本地(在Web存档中)的模式? 或者可能完全禁用此检查? 另一方面,当应用程序启动时,所有工作都完美(后来我尝试使用IoC)。 应用程序服务器没有Internet连接,并且所有尝试解析此架构都会导致等待连接超时。 我尝试了什么: 将包含url映射的spring.schemas放入位于web存档中的模式到META-INF文件夹中。 所有这些文件( spring.schemas和xml模式)都可以通过ClassLoader访问(选中)。 任何帮助将不胜感激。 /me [stupid j2ee developer] 更新1: 以下是我从websphere日志文件中获取的确切消息: [22.07.10 15:45:58:626 MSD] 00000043 XMLParser W java.net.SocketException occurs during processing http://www.springframework.org/schema/tool/spring-tool-2.0.xsd: Operation timed out: connect:could be due to […]

MQJMS2013无效的安全认证

我正在尝试从IBM Websphere Application Server连接到IBM Websphere MQ Server。 我收到以下错误: MQJMS2013: invalid security authentication supplied for MQQueueManager 我的理解是,这是因为连接到MQ Manager时WAS的安全凭证无效。 我尝试过提供MQ管理密码的不同组合,例如 为MQ连接工厂提供J2C身份validation。 为队列提供MQ管理员用户名和密码。 提供空白用户名。 以上三者的组合。 另外,正如一些post中所提到的,我已经尝试将传输类型作为“绑定”以及QueueConnectionFactory的 “客户端” 。 请建议。

如何在WebSphere中管理ClassPath

我在Websphere v6.1中的Web模块类路径有问题。 在我的WEB-INF / lib中,我有大量的jar文件,包括xercesImpl.jar和xmlparserv2.jar。 我需要两个jar子都存在,但它们似乎互相矛盾。 具体来说,每个jar包含一个META-INF / services目录,因此,当我们尝试通过JAXP获取DocumentBuilderFactory的实例时,我们得到的实例取决于这两个jar在类路径中出现的顺序。 我总是想使用DocumentBuildFactory的xerces实例,所以我想将xercesImpl.jar推送到类路径的前面。 我试图通过在war文件的Manifest文件中指定Class-Path部分来实现这一点,但是我在WAS Module Compound CLass Loader中实际获得的类路径非常奇怪。 我似乎得到了WAS提出的一些标准内容,然后是字母顺序的WEB-INF lib的内容,接着是Manifest文件指定的类路径。 如果我根本没有将清单文件放入战争中,我会得到标准的东西,然后是WEB-INF / lib的内容,但是以任意顺序。 我错过了什么? 有没有一种方法可以将类路径设置为我想要的? 戴夫