小编Sar*_*nan的帖子

Perl模块安装错误CPAN

当我尝试在ubuntu 12.04中使用cpan安装Spreadsheet :: WriteExcel perl模块时,我收到以下错误.

> Can't exec "/usr/bin/make": No such file or directory at
> /usr/share/perl/5.14/CPAN/Distribution.pm line 2078.  
> JMCNAMARA/OLE-Storage_Lite-0.19.tar.gz   /usr/bin/make -- NOT OK
> 'YAML' not installed, will not store persistent state Running make
> test   Can't test without successful make Running make install   Make
> had returned bad status, install seems impossible Running make for
> J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz   Has already been
> unwrapped into directory
> /root/.cpan/build/Spreadsheet-WriteExcel-2.40-gJaT_A
> 
>   CPAN.pm: Going to build
> J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz
> 
> Warning: …
Run Code Online (Sandbox Code Playgroud)

perl cpan

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

调试内存泄漏 - org.hibernate.engine.StatefulPersistenceContext

有一个服务连接到 Oracle DB 来读取数据,它使用Hibernate-3.6SpringData-JPA-1.10.x。频繁生成堆转储会导致主机内存不足。

使用 Eclipse MAT 分析一​​些堆转储后,发现大部分内存都累积在org.hibernate.engine.StatefulPersistenceContext -> org.hibernate.util.IdentityMap -> java.util.LinkedHashMap的一个实例中。

在此输入图像描述 泄密嫌疑人说

线程 java.lang.Thread @ 0x84427e10 ... : 29 保留总大小为 1,582,637,976 (95.04%) 字节的局部变量。

内存累积在“”加载的“java.util.LinkedHashMap”的一个实例中。

在 StackOverflow 上搜索它,它说 SessionFactory 应该是单例的,并且在每次调用清除缓存之前应该调用 session.flush() 和 session.clear() 。但SessionFactory 并未在代码中显式初始化或使用

是什么导致了这里的内存泄漏(看起来每个查询的结果都被缓存并且没有清除)以及如何修复它?

有关 Spring Data 配置的更多信息:

TransactionManager 初始化为:

<tx:annotation-driven mode='proxy' proxy-target-class='true' />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
   ....
</bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" depends-on="...">
   ....
</bean>
Run Code Online (Sandbox Code Playgroud)

为了与表交互,声明了一个扩展 Spring Data RepositoryJpaSpecificationExecutor的接口。两者都被输入到它将处理的域类中。 …

java memory-leaks hibernate sessionfactory spring-data-jpa

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

Spring JPA 规范不存在且自连接

如何在 Spring JPA 规范中构建以下 SQL 查询?

SELECT col1, col2, MAX(col3) 
FROM table_name t1 
WHERE col4 IN (1,2,3) AND status IN ('STATUS_1','STATUS_2') AND 
NOT EXISTS 
(
 SELECT 1 FROM table_name t2 WHERE t1.id = t2.parent_id 
 AND t2.status IN ('STATUS_3','STATUS_4')
)
GROUP BY col1, col2;
Run Code Online (Sandbox Code Playgroud)

爪哇代码:

return new Specification<TableEntity>() {

    @Override
    public Predicate toPredicate(Root<TableEntity> root, CriteriaQuery<?> query, CriteriaBuilder builder) {

        // how to build Predicates for the above query which has self-join and not exists.

    }
};
Run Code Online (Sandbox Code Playgroud)

predicate criteriaquery spring-data-jpa

4
推荐指数
1
解决办法
3446
查看次数