Java 中的OpenJPA配置为7.0.0.25

Java 中的OpenJPA配置为7.0.0.25,java,performance,jpa,websphere,openjpa,Java,Performance,Jpa,Websphere,Openjpa,我正在研究针对WAS7.0.0.25服务器的OpenJPA的性能优化。我从WAS控制台启用了OpenJPA跟踪,以了解缓存的属性 my persistance.xml中没有openjpa.=类型条目。但我可以在trace.log中看到如下条目: openjpa.IgnoreChanges: false openjpa.FlushBeforeQueries: 0 openjpa.ConnectionRetainMode: 0 但是我找不到设置这些属性的配置,以便我可以使用它们 有谁能告诉我在哪里

我正在研究针对WAS7.0.0.25服务器的OpenJPA的性能优化。我从WAS控制台启用了OpenJPA跟踪,以了解缓存的属性

my persistance.xml中没有openjpa.=类型条目。但我可以在trace.log中看到如下条目:

openjpa.IgnoreChanges: false
openjpa.FlushBeforeQueries: 0
openjpa.ConnectionRetainMode: 0
但是我找不到设置这些属性的配置,以便我可以使用它们


有谁能告诉我在哪里可以找到WAS 7提供的开放JPA中的这些值吗?

根据文档,您应该将这一行添加到您的persistence.xml中:

<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/> 


已添加

如果在persistence.xml中添加这些键,可能会覆盖默认值

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
    xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
    <persistence-unit name="...">

        <properties>
            <property name="openjpa.jdbc.DBDictionary" value="oracle" />
            <property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
            <property name="openjpa.AutoDetach" value="close" />
            <property name="openjpa.DetachState" value="loaded" />
            <property name="openjpa.DataCache" value="false" />
            <property name="openjpa.Optimistic" value="true" />
            <property name="openjpa.Multithreaded" value="true" />
            <property name="openjpa.TransactionMode" value="managed" />
            <property name="openjpa.ConnectionFactoryMode" value="managed" />
            <property name="openjpa.NontransactionalRead" value="true" />
            <property name="openjpa.RestoreState" value="all" />
            <property name="openjpa.ManagedRuntime" value="auto" />
        </properties>
    </persistence-unit>


</persistence>

Xhings-


如果您正在查找默认配置值,则应首先查看。也就是说,我建议(从性能角度)更改的唯一属性是
openjpa.ConnectionRetainMode
。将该属性设置为“始终”会对性能产生一些影响。

感谢Edubliconti。但是我需要修改一些属性。对于WAS提供的默认OpenJPA,我在哪里可以这样做呢?仅供参考——我不建议将OpenJPA.multi-threaded设置为true。这项功能是有缺陷的(充其量),可能会导致死锁。Tks@Rick。谢谢Rick。我关心的问题是堆中开放JPA的沉重记忆足迹。由于持久性,近60%的堆被利用。我想检查是否通过OpenJPA配置和代码正确管理持久性。如果您有关于重内存足迹的任何输入,请提供建议。只需补充以上几点,由于openJPA,此堆使用率将达到90%,尽管没有创建OOM堆转储,但应用程序和服务器在负载测试期间将变得无响应。我们为扩展使用Open JPA的JVM分配了2 Gig(最小=最大),我们还将交换空间增加到4 Gig,以获得12 Gig的RAM。我建议进行线程/堆转储,看看发生了什么,而不是盲目地设置属性。