我有一个Web服务,它接受输入xml消息,转换它,然后将其转发到另一个Web服务.
该应用程序部署到两个Web逻辑应用程序服务器,以实现性能和弹性.
我想要一个允许两件事的网站监控页面
能够停止/开始转发消息
能够监控过去一小时内的消息数量等.进入Web服务等的不同发送者的数量.
我想知道实现这个的最佳方法是什么.
我目前的想法是让内存数据库(例如Debry或HSQL)复制数据,以便在应用程序服务器的不同实例中运行的应用程序的两个(或更多)实例之间共享信息.我想我必须设置某种主/从配置.
我希望链接到一篇讨论如何解决这个问题的文章.
(注意,这是一个使用spring MVC的简单弹簧应用程序)
谢谢,
大卫.
我想要在独立应用程序中传递这些行中的最后一行而不抛出任何异常:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"weblogic.jndi.WLInitialContextFactory");
props.setProperty("java.naming.provider.url",
"t3s://localhost:9002");
props.setProperty("java.naming.security.principal",
"<username>");
props.setProperty("java.naming.security.credentials",
"<password>");
Context ctx = new InitialContext(props);
Run Code Online (Sandbox Code Playgroud)
...但我在异常中获得此信息:
Warning Security BEA-090542 Certificate chain received from localhost - 127.0.0.1 was not trusted causing SSL handshake failure. Check the certificate chain to determine if it should be trusted or not. If it should be trusted, then update the client trusted CA configuration to trust the CA certificate that signed the peer certificate chain. If you are connecting to a WLS …
我正在开发一个Web应用程序,它的servlet基本上充当Web服务的前端,我使用CXF作为Web服务客户端,应用程序在WebLogic 9.10服务器上运行,每个东西都工作正常,直到项目所有者决定添加ssl supprt,没什么大问题,因为我使用cxf whitout spring,我设法在服务客户端的http管道中配置TLS参数,还配置了一个密钥库,用于服务器密钥,ca根证书和客户端证书,在开发tomcat实例下测试并且工作正常.
当应用程序再次将应用程序重新部署到weblogic服务器并开始出现奇怪的错误时,问题就出现了,首先是:
java.lang.ClassCastException: com.sun.xml.ws.client.sei.SEIStub cannot be cast to org.apache.cxf.frontend.ClientProxy
at org.apache.cxf.frontend.ClientProxy.getClient
Run Code Online (Sandbox Code Playgroud)
然后我意识到weblogic正在加载它自己的JAX-WS实现,没有问题,只是添加了weblogic.xml whit"prefer-web-inf-classes"设置为true,重新部署,现在我得到了这个例外:
java.lang.LinkageError: loader constraint violation: when resolving method "javax.xml.ws.Service.<init>(Ljava/net/URL;Ljavax/xml/namespace/QName;)V" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, com/adinfi/imgsvc/cm/service/CMBGenericWebServiceService, and the class loader (instance of <bootloader>) for resolved class, javax/xml/ws/Service, have different Class objects for the type javax/xml/namespace/QName used in the signature
Run Code Online (Sandbox Code Playgroud)
那个人得到了我,我认为类路径有问题,所以我开始从应用程序中删除jar并仍然有更多的链接错误,最后一个我得到的是:
java.lang.LinkageError: loader constraint violation: loader (instance of <bootloader>) previously initiated loading for a different type with name "org/w3c/dom/UserDataHandler"
Run Code Online (Sandbox Code Playgroud)
这就是我的应用程序的"Web-Inf/lib /"目录现在的样子: …
我将使用weblogic和JAX-RS构建许多Web服务.为了简单起见,我将把每个服务放在自己的项目中.但我似乎遇到的问题是为每个项目设置context-root.
可以在save weblogic服务器上部署的多个项目是否具有相同的上下文根?
在我们的生产环境中,weblogic服务器挂起半小时,看起来它有死锁线程.但在调查线程转储后,3个线程被阻塞用于同一个锁,但没有其他线程拥有此锁..这是堆栈跟踪 ..
你对这种侮辱有什么合理的解释吗?
这是被阻止的线程;
"pool-1013-thread-5"prio = 7 tid = 600000000842be00 nid = 17280 lwp_id = 518677正在等待监视器条目[9fffffffe6aff000..9fffffffe6b00bd0] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
"pool-1013-thread-4"prio = 7 tid = 6000000008413400 nid = 17279 lwp_id = 518676等待监视器条目[9fffffffe6eff000..9fffffffe6f00b50] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.loader.Loader.getRow(Loader.java:1197)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)的.apache.log4j.Category.log(Category.java:853) Org.hibernate.loader.adQuery.Lad前面的org.hibernate.loader.oQuery(Loader.java:724)中的org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:603)(Loader.java:259) org.hibernate.loader.Loader.loadEntity(Loader.java:1881)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader) .jav a:65)atg.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)org.hibernate.event.def上的org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434) .DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)在org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)在org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)在org.hibernate.event.DefaultLo文件中的org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)(SessionImpl.java:905)
"pool-1013-thread-3"prio = 7 tid = 6000000008411c00 nid = 17278 lwp_id = 518675等待监视器输入[9fffffffe70ff000..9fffffffe7100ad0] java.lang.Thread.State:org.apache中的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.getResultSet(Loader.java:1808)atg.hibernate.loader.Loader.doQuery(Loader.java:697)
我有一个哈希映射,如:
Map gen = HashMap<Integer, MyObj>
当我执行时AccessController.doPrivileged(gen),它抛出异常如下.谁可以帮我这个事.
java.security.PrivilegedActionException: java.io.NotSerializableException: java.util.HashMap
at java.security.AccessController.doPrivileged(Native Method)...
Run Code Online (Sandbox Code Playgroud)
此代码在Weblogic环境中执行.
我在安装mvn后将weblogic.xml放在WEB-INF文件夹下时遇到问题.我的weblogic.xml文件在src/main/resources/weblogic.xml下,我希望它在安装后放在WEB-INF下.(顺便打包是"战争")
我试过这个:
<resources>
<resource>
<directory>src/main/resources</directory>
<targetPath>../resources</targetPath>
<excludes><exclude>web.xml</exclude><exclude>weblogic.xml</exclude></excludes>
</resource>
<resource>
<directory>src/main/resources/config</directory>
<targetPath>..</targetPath>
<includes><include>weblogic.xml</include></includes>
</resource>
</resources>
Run Code Online (Sandbox Code Playgroud)
它正在使用安装,但是当我想要使用eclipse:eclipse的类路径时,它会给出错误:
说明资源路径位置类型无法在输出文件夹'ResponseManager/target/WEB-INF'内嵌套输出文件夹'ResponseManager/target/WEB-INF/resources'ResponseManager构建路径构建路径问题
因为classpath中的这个conf:
<classpathentry kind="src" path="src/main/resources" output="target/WEB-INF/resources" excluding="web.xml|weblogic.xml|**/*.java"/>
<classpathentry kind="src" path="src/main/resources/config" output="target/WEB-INF" including="weblogic.xml" excluding="**/*.java"/>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我正在尝试将应用程序从OC4J迁移到Weblogic,但我无法在Weblogic 12c中找到环境条目映射屏幕.
有吗?如果是的话,它在哪里?如果没有,我该怎么办?
我们的应用在web.xml中具有以下值:
<env-entry>
<env-entry-name>SERVLET_PATH</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>USER</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
<env-entry>
<env-entry-name>PASSWORD</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
Run Code Online (Sandbox Code Playgroud)
在OC4J中,可以在Environment Entry Mappings屏幕中看到这些.(我也可以在Websphere的Web模块环境条目下看到它们)
谢谢
[编辑]感谢JoseK,我找到了答案.
创建了plan.xml之后,我发现需要在plan.xml中添加a和a:
<variable-definition>
<variable>
<name>SERVLET_PATH</name>
<value>http://203.15.228.111:7001/RailExchangeServlet/servlet/RailExchangeServlet</value>
</variable>
</variable-definition>
Run Code Online (Sandbox Code Playgroud)
...
<module-descriptor external="false">
<root-element>web-app</root-element>
<uri>WEB-INF/web.xml</uri>
<variable-assignment>
<name>SERVLET_PATH</name> <!-- this links to the variable-definition name -->
<xpath>/web-app/env-entry[env-entry-name="SERVLET_PATH"]/env-entry-value</xpath>
</variable-assignment>
</module-descriptor>
</module-override>
Run Code Online (Sandbox Code Playgroud) 我们希望在Tomcat,WebLogic,WebSphere和JBoss上部署我们的应用程序.我们的应用程序的web.xml需要包含到默认servlet的映射.
对于Tomcat,这个servlet被命名为"default",因此我们的映射将显示为:
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/js/calendar/flexcal.html</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
但在其他平台上它会发生变化(即WebLogic是"FileServlet").
有没有办法定义一个条件映射,它将根据可用的内容而改变?如果不是,我们应该如何处理这个问题?
谢谢!
当我使用数据库向导测试它时,我获得了成功。但是我在运行我的 jsf/adf 应用程序时收到以下错误::
C:\Users\dev4\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\sqlConnTestApp\ViewController_sqlWebApp.war
[12:55:18 PM] Wrote Enterprise Application Module to C:\Users\dev4\AppData\Roaming\JDeveloper\system11.1.1.3.37.56.60\o.j2ee\drs\sqlConnTestApp
[12:55:18 PM] Deploying Application...
<Jul 10, 2012 12:55:19 PM IST> <Warning> <J2EE> <BEA-160195> <The application version lifecycle event listener oracle.security.jps.wls.listeners.JpsAppVersionLifecycleListener is ignored because the application sqlConnTestApp is not versioned.>
<Jul 10, 2012 12:55:20 PM IST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1341905118356' for task '4'. Error is: 'weblogic.application.ModuleException: '
weblogic.application.ModuleException:
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:290)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:507)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:41)
at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:149)
Truncated. …Run Code Online (Sandbox Code Playgroud) weblogic ×10
java ×6
classpath ×1
cxf ×1
deadlock ×1
java-ee ×1
jax-rs ×1
jax-ws ×1
jdeveloper ×1
jms ×1
maven-2 ×1
oc4j ×1
oracle-adf ×1
servlets ×1
spring ×1
ssl ×1
tomcat ×1
war ×1
webcontext ×1
weblogic9.x ×1