标签: weblogic

Weblogic 文件存储,发出请求时事务已超时

我们在 weblogic 上使用分布式 JMS,有时会发生 ResourceAccessException。我们尝试删除文件存储、重新启动服务器并将 JTA 超时更改为 300 秒。(默认为 30 秒)。

但是我们遇到了同样的错误。可能是什么原因?

谢谢

Caused by: javax.transaction.SystemException: start() failed on resource 'WLStore_COLUMBUS-ADA-PROD-DMN_ColumbusADAFileStore': XAER_RMERR : A resource manager error has occured in the transaction branch
    weblogic.transaction.internal.ResourceAccessException: Transaction has timed out when making request to XAResource 'WLStore_COLUMBUS-ADA-PROD-DMN_ColumbusADAFileStore'.
    at weblogic.transaction.internal.XAResourceDescriptor.startResourceUse(XAResourceDescriptor.java:670)
    at weblogic.transaction.internal.XAServerResourceInfo.start(XAServerResourceInfo.java:1230)
    at weblogic.transaction.internal.XAServerResourceInfo.xaStart(XAServerResourceInfo.java:1164)
    at weblogic.transaction.internal.XAServerResourceInfo.enlist(XAServerResourceInfo.java:296)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:522)
    at weblogic.transaction.internal.ServerTransactionImpl.enlistResource(ServerTransactionImpl.java:449)
    at weblogic.store.gxa.internal.GXAResourceImpl.enlist(GXAResourceImpl.java:442)
    at weblogic.messaging.kernel.internal.KernelImpl.getGXATransaction(KernelImpl.java:570)
    at weblogic.messaging.kernel.internal.QueueImpl.send(QueueImpl.java:329)
    at weblogic.jms.backend.BEDestinationImpl.sendIssueMessage(BEDestinationImpl.java:1873)
    at weblogic.jms.backend.BEDestinationImpl.send(BEDestinationImpl.java:2108)
    at weblogic.jms.backend.BEDestinationImpl.wrappedSend(BEDestinationImpl.java:2051)
    at weblogic.jms.backend.BEDestinationImpl.invoke(BEDestinationImpl.java:1539)
    at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:961)
    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsyncInternal(DispatcherImpl.java:139)
    at weblogic.messaging.dispatcher.DispatcherImpl.dispatchAsync(DispatcherImpl.java:115)
    at weblogic.messaging.dispatcher.Request.dispatchAsync(Request.java:1303)
    at weblogic.jms.dispatcher.Request.dispatchAsync(Request.java:96) …
Run Code Online (Sandbox Code Playgroud)

timeout weblogic jms

5
推荐指数
1
解决办法
7414
查看次数

是否可以在 weblogic-application.xml 中定义应用程序版本?

需要在 weblogic-application.xml 中定义我们产品的一个版本。是否可以?谢谢。

java xml weblogic

5
推荐指数
1
解决办法
4619
查看次数

Mybatis 中没有类型处理程序异常

我的服务器--> weblogic server 10.3 和 Mybatis version-3.2.2

    org.springframework.beans.factory.BeanCreationException: Error creating bean with    name 'sqlSessionFactory' defined in class path resource [com/db/tf/interfaces/SpringIn
terfaceContext.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse config resource: class path resource [com/db/tf/interfaces/sqlmaps/SqlMapConfig-Interface.xml]; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. C
ause: java.lang.RuntimeException: Error parsing Mapper XML. Cause: java.lang.IllegalStateException: No typehandler found for property invocationDetails.creditDetails.modeOfPayment at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:608)
        at …
Run Code Online (Sandbox Code Playgroud)

java weblogic mybatis weblogic-10.x typehandler

5
推荐指数
1
解决办法
2万
查看次数

IntelliJ 调试器:连接但不会注意到代码何时进入断点

我尝试使用 IntelliJ IDEA 11.1 Ultimate 调试应用程序服务器 (WebLogic)。调试器配置以前工作过,我没有改变任何东西。

会发生什么:IntelliJ 告诉我

连接到目标VM,地址:'[snip]:9009',传输:'socket'

我可以添加和删除断点,并且它们标有复选标记,因此设置它们似乎有效。通过与我的应用程序的 Web 界面交互,我尝试点击我设置的断点。断点实际上似乎阻止了代码的执行,但 IntelliJ 调试器没有反应。在我断开调试器连接之前,我的应用程序的 Web 界面不会响应,但 IntelliJ 似乎根本没有注意到这种情况发生。我无法与调试器交互。我怎样才能弄清楚出了什么问题?IntelliJ 调试器本身是否有一些调试输出?这个问题有已知的解决方案吗?

java weblogic remote-debugging intellij-idea

5
推荐指数
1
解决办法
4973
查看次数

在 jdeveloper 中创建 weblogic 服务器域的问题?

我无法从中创建weblogicjdevloper

我正在使用 Jdevloper 12.1.2(12c),当我尝试在默认集成上创建域时,weblogic server这给了我这样的错误 -

wlst > 虚拟机初始化期间发生错误

wlst > 无法为对象堆保留足够的空间

wlst > 错误:无法创建 Java 虚拟机。

wlst > 错误:发生了致命异常。程序将会退出。

我重新安装jdeveloper(12c),重新启动机器,设置JAVA_HOME环境变量但仍然出现错误。

请一些身体帮助我并解决这个问题。

weblogic jdeveloper

5
推荐指数
1
解决办法
5034
查看次数

来自 Hibernate 的同步类加载器调用

我们的项目中存在性能问题,这似乎源于(至少部分)Hibernate 使用类加载器的方式。这是在 Java 线程转储中发现的,这些转储是在我们内部环境的高负载测试期间进行的。转储的 JVM 是运行应用程序的 Weblogic 托管服务器的 JVM,在监控仪表板显示占用线程和待处理用户请求时进行转储。

例子:

"[ACTIVE] ExecuteThread: '126' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00007f2fe9486000 nid=0x663b waiting for monitor entry [0x00007f2faeae6000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:405)
    - waiting to lock <0x000000078c0d76b0> (a weblogic.utils.classloaders.GenericClassLoader)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:178)
    at org.hibernate.internal.util.ReflectHelper.classForName(ReflectHelper.java:187)
    at org.hibernate.internal.util.ReflectHelper.getConstantValue(ReflectHelper.java:278)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl$JavaConstantConverter.handleDotStructure(QueryTranslatorImpl.java:592)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl$JavaConstantConverter.visit(QueryTranslatorImpl.java:587)
Run Code Online (Sandbox Code Playgroud)

我们可以在这些线程转储(使用 Samurai/TDA)中看到的是,似乎随时都有大量线程在等待锁定类加载器。这个由 WLS 提供的类加载器似乎是同步的 - 这解释了锁定/阻塞线程模式......

似乎 Hibernate 使用类加载器来评估查询中的表达式。所以我不确定类加载器调用是否真的加载了任何新类。

问题是对类加载器的调用次数似乎一直在进行……有时我观察到多达 30% 的线程总数(~30-40 + 我们的 130)等待获取一个类加载器锁!

-->当大量线程试图为高用户负载(即许多 Hibernate 查询)提供服务时,WLS 类加载器的同步似乎会导致非常高的内部开销

这种行为是正常的还是我们做错了什么?

现在这个同步的类加载器问题似乎是限制我们应用程序吞吐量的主要原因,导致重负载下的性能下降。此外,如果我们扩展 CPU/内存或各种 WLS 特定池(如 …

java hibernate weblogic class classloader

5
推荐指数
1
解决办法
1939
查看次数

Weblogic 12C - 有没有办法从控制台编辑部署计划的变量?

我们是 Weblogic (12c) 的新手。我们尝试根据应用程序运行的环境(dev / staging /prod)选择如何将一些配置传递给应用程序。

我目前正在尝试使用部署计划。在WEB-INF/web.xml,我有:

<context-param>
    <param-name>test</param-name>
    <param-value>11111</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

plan.xml我在 Weblogic 中为我的应用程序使用了 a 。一些部分 :

<variable-definition>
    <variable>
        <name>test</name>
        <value xsi:nil="false">22222</value>
        <description>some description</description>
    </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>test</name>
        <xpath>/web-app/context-param/[param-name="test"]/param-value</xpath>
        <origin>planbased</origin>
        <operation>replace</operation>
    </variable-assignment>
</module-descriptor>
Run Code Online (Sandbox Code Playgroud)

这有效!

但我听说可以从管理控制台更改变量的值,是真的吗?

当我在控制台中(在Deployment Plan选项卡中或在Configuration选项卡中)浏览我的应用程序时,我没有看到任何可以用来更改test变量的字段......我是否遗漏了什么或必须在plan.xml文件本身?

java weblogic weblogic12c jakarta-ee

5
推荐指数
1
解决办法
1920
查看次数

如何防止 Weblogic 使用 ExpressionInterceptor?

我正在将网站从运行 Weblogic 11g (10.3.5) 的 Java 6 迁移到运行 Weblogic 12c (12.1.3) 的 Java 8。我发现了几个问题(这有助于我团队中的其他人之前尝试过,但没有取得足够的成功),但一个似乎无法克服,我无法找到任何相关信息。

我们的一个 JSP 无法在浏览器中加载 ,并weblogic.servlet.jsp.CompilationException抱怨“方法 _jspService(HttpServletRequest, HttpServletResponse) 的代码超出 65535 字节限制”。检查.java在两个版本的 Weblogic 中为 JSP生成的文件之间的差异,我看到每个 JSP 表达式都包装在一个 ExpressionInterceptor 中。

例如,在运行 Java 6 的 WebLogic 10 中,<%=user.getLanguage()%>变为out.print(user.getLanguage());. 在运行 Java 8 的 WebLogic 12 中,它变为:

out.print(_jsp_expressionInterceptor.intercept(
    String.valueOf(user.getLanguage()), pageContext,
    weblogic.servlet.jsp.ExpressionInterceptor.Type.Scripting));
Run Code Online (Sandbox Code Playgroud)

在我看来,额外的几个方法调用 - 2 个方法调用,在文件中大约 250 次 - 足以使该_jspService方法超过 64K 限制。(Java 6 中的方法大小,基于来自 的输出javap,是 62912 字节,所以这是有道理的。)

我的问题是:有什么办法可以阻止 Weblogic 生成对ExpressionInterceptor? …

java jsp weblogic java-8 weblogic12c

5
推荐指数
1
解决办法
770
查看次数

添加 eclipselink 工件时在 Weblogic 12.2.1 中自动注册 Jax-RS

我在最新的 Weblogic 服务器版本 12.2.1.2 中观察到一个非常奇怪的行为。当 eclipselink 依赖项添加到您的 Java servlet 应用程序时,Weblogic 服务器将自动触发 /resources/* 路径下的 Jax-RS Jersey REST 服务。

为了消除任何疑问,我创建了一个非常简单的 helloworld 战争文件。可以按照此页面 ( http://geekabyte.blogspot.com/2015/07/how-to-create-war-files-with-intellij.html ) 中的说明创建示例战争文件

如果您遵循上述说明,基本上您将拥有的唯一依赖是

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

并且 Helloworld 作为应用程序中唯一的类。你可以将它部署到任何服务器,它会运行得很好。

现在您将另一个依赖项添加到您的 maven pom 文件中。它是 eclipselink 工件,如下所示:

    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>eclipselink</artifactId>
        <version>2.5.2</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

部署 war 文件时,服务器将记录以下内容:

<May 23, 2017, 2:42:47,343 PM MST> <Warning> <JAXRSIntegration> <BEA-2192511> 
<The list of resource packages: org.eclipse.persistence.jpa.rs.exceptions;org.eclipse.persistence.jpa.rs.resources;org.eclipse.persistence.jpa.rs.resources.unversioned> 
Run Code Online (Sandbox Code Playgroud)

您将在 Weblogic 管理控制台中看到以下内容 自动注册 JAX-RS/Jersey REST 服务

这样做的影响是,如果您遵循约定并将所有 javascript 和 css 文件存储在 /resources/ 路径下,而不是提供这些静态文件,服务器将尝试通过 JAX-RS 服务处理这些请求,最终返回 404未找到。

我尝试了不同的配置:不同的服务器、不同版本的 Weblogic 服务器、Toplink 代替 …

java oracle weblogic jax-rs eclipselink

5
推荐指数
1
解决办法
2892
查看次数

weblogic 提供的依赖

我正在使用 Weblogic 12.1.3.0 服务器,但我现在想要,可以在我的 pom 中按照提供的方式标记哪些依赖项。所以问题是,我在哪里可以找到 weblogic 提供的依赖项及其版本的完整列表?

我在这个标识符下找到了 weblogic 的 pom:

  <groupId>com.oracle.weblogic</groupId>
  <artifactId>weblogic-server-pom</artifactId>
  <version>12.1.3-0-0</version>
  <packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)

但在我看来,此 pom 提供的依赖项列表并未显示 weblogic 提供的所有依赖项。

我也在oracle网站上搜索过,但没有任何令人满意的结果。

java weblogic maven

5
推荐指数
1
解决办法
2182
查看次数