小编Jan*_*rts的帖子

如何在64位Linux上运行32位JVM?

我正在尝试在64位Debian Mint机器上运行32位热点JVM.乍一看它一切正常,直到你尝试使用Swing运行一些东西:

java.lang.UnsatisfiedLinkError: /opt/javadev/jdk1.7.0_03_32b/jre/lib/i386/xawt/libmawt.so:   
libXext.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

将其添加到库路径:export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu.

但后来它给出了这个错误:

java.lang.UnsatisfiedLinkError: /opt/javadev/jdk1.7.0_03_32b/jre/lib/i386/xawt/libmawt.so: 
libXext.so.6: wrong ELF class: ELFCLASS64
Run Code Online (Sandbox Code Playgroud)

知道还有什么必须在这里完成吗?

java 64-bit jvm

17
推荐指数
3
解决办法
5万
查看次数

使用JPA2进行Hibernate 3.6.2二级缓存的工作示例?

标题显然表明它:我无法使二级缓存适用于JPA2/Hibernate 3.6.3.

我一直在尝试很多黑客工作.但我只是成功地使查询缓存工作.虽然Hibernate创建了缓存(实例的名称),但它们被忽略了.即使未命中也未注册.也许这是版本不兼容.我尝试了其他一些没有结果的人.而且我不再能够完成所有排列的任务了.:-P

我在这里问这个问题,因为有些人似乎让它工作(我也尝试过它的例子).也许他们可以发现我正在犯的明显错误.

在此先感谢任何帮助我的人!:-)

persistence.xml中

<persistence 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_2_0.xsd"
         version="2.0">

<persistence-unit name="foo" transaction-type="RESOURCE_LOCAL">
    <shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
    <properties>
        <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
        <property name="javax.persistence.jdbc.url" value="jdbc:derby:/opt/db/foo;create=true"/>
        <property name="javax.persistence.jdbc.user" value="foo"/>
        <property name="javax.persistence.jdbc.password" value="bar"/>
        <property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
        <property name="hibernate.hbm2ddl.auto" value="create"/>
        <property name="hibernate.cache.region.factory_class" value="net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory"/>
        <property name="hibernate.cache.use_second_level_cache" value="true"/>
        <property name="hibernate.cache.use_query_cache" value="true"/>
    </properties>
</persistence-unit>
Run Code Online (Sandbox Code Playgroud)

的pom.xml

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>3.6.3.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>
    <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache-core</artifactId>
    <version>2.4.2</version>
Run Code Online (Sandbox Code Playgroud)

JMX设置

这样我就可以检查缓存的用法.创建缓存(每个实体一个),两个查询缓存也在那里.后者填补速度非常快.但是没有一个缓存显示任何未命中或命中.甚至不是查询缓存.

 ManagementService.registerMBeans( CacheManager.getInstance(), ManagementFactory.getPlatformMBeanServer(), true, true, true, true, true )
Run Code Online (Sandbox Code Playgroud)

实体缓存被忽略.它们应至少包含保存到数据库中的实体.或者通过查询检索.什么都没有动.

示例Java代码

EntityManager entityManager = Persistence.createEntityManagerFactory("foo").createEntityManager();
entityManager.getTransaction.begin();
entityManager.merge(bar); …
Run Code Online (Sandbox Code Playgroud)

hibernate ehcache second-level-cache jpa-2.0

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

实体子类的专用缓存区域?

我们有一个包含100多个实体类的广泛实体模型.所有实体类都是单个实体超类的子类.共享缓存模式已设置为ALL.

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "entities")
public abstract class LongIdEntity {

  @Id
  @GeneratedValue(strategy = GenerationType.TABLE)
  private Long id;

  @Version
  @Column(name = "OPT_LOCK_VERSION")
  private Long lockVersion;

  etc...

}
Run Code Online (Sandbox Code Playgroud)

一个示例子类:

@Entity
@Table(name = "cars")
public class Car extends LongIdEntity { ... }
Run Code Online (Sandbox Code Playgroud)

我们想要缓存二级缓存中的所有实体.问题是只为所有实体制作了1个缓存区域; 名为LongIdEntity.

调试显示Hibernate 确实找到了所有实体类,但无论如何都要为它们分配相同的区域.因为在SessionFactoryImpl:339:

String cacheRegionName = cacheRegionPrefix + model.getRootClass().getCacheRegionName();
Run Code Online (Sandbox Code Playgroud)

在我们的例子中,对model.getRootClass()的调用将始终产生" LongIdEntity ".

我认为这确实会缓存所有实体,但没有任何驱逐控制.有些课程非常频繁且只读.所以我们希望将它们固定在内存中.有些通常在某个时间跨度内使用,等等......将它们全部塞入同一个缓存会使一切无效.

在注释中指定区域无效.例如:

@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE,region = "cars")
@Entity
@Table(name = "cars")
public class Car extends LongIdEntity …
Run Code Online (Sandbox Code Playgroud)

hibernate ehcache jpa-2.0

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

如何记录Spring事务内容

有各种记录Spring事务管理器的活动(启动,提交和回滚)的帖子.但是,我最近遇到了一个死锁问题,只记录活动是不够的.

我们的代码中的基本问题是需要使用事务传播和REQUIRES_NEW.反复进行了很多方法调用,最终我们将大量事务堆叠在一起.唉,代码库很大,解决方案很紧急......(我们都知道这是什么.)

问题是死锁,因为代码已添加到在另一个事务中按顺序修改的事务中的查询实体.Spring吐出一个异常,告诉实体X的更新超时,因为它被锁定了.现在,知道这很好,但是如何找到错误的代码:执行早期锁定的查询.

我的问题(最后):有没有办法记录添加到交易中的实体?这样我就可以专门查找锁定Spring正在抱怨的实体的事务.

谢谢 !:-)

logging spring transactions

7
推荐指数
1
解决办法
1583
查看次数

实现弱引用的Eventbus演员?

说未引用的演员仍然订阅了事件流是否正确?至少,这是我从Akka实验中得到的......

我正在尝试在EventBus场景中为actor实现弱引用.在这些情况下,事件监听器/演员通常会来来去去.与应该一直存在的独立演员不同.显然取消注册当然可行.但我并不总是能够认识到这一点的正确时机.

Akka是否提供此类用例?

val as = ActorSystem.create("weak")
var actor = as.actorOf(Props[ExceptionHandler])
as.eventStream.subscribe(actor,classOf[Exception])

// an event is published & received
as.eventStream.publish(new KnownProblem)

//session expires or whatever that makes the actor redundant
actor = null
(1 to 30).foreach(_ => System.gc)

// an event is published & STILL received
as.eventStream.publish(new KnownProblem)
Run Code Online (Sandbox Code Playgroud)

scala akka

6
推荐指数
1
解决办法
680
查看次数

如何找到死锁的两个线程?

我们在Tomcat 5.5中运行了经典的spring/hibernate/mysql堆栈.偶尔,当尝试超时锁定表行时,我们会遇到死锁.抛出某种死锁异常.

异常是明确的,堆栈跟踪指示出现了什么问题.但它没有显示持有实际锁的其他线程.除非我知道那个线程在做什么,否则它只是大海捞针.

问题:有没有办法找到另一个线程?

谢谢 !

一月

java spring tomcat deadlock hibernate

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

如何忽略CheckStyle警告缺少测试方法的@throws?

我受到CheckStyle警告在JavaDoc测试方法中缺少@throws的困扰.

我正在使用这样的测试方法:

/**
 * Check that something works. <== CheckStyle wants @throws here
 */
@Test
public void testSomething() throws Exception {
  ...
}
Run Code Online (Sandbox Code Playgroud)

是否有一种可配置的方式告诉CheckStyle忽略这个?

"throws"条款特别是因为它是一种测试方法; 通常会忽略异常处理.

java junit checkstyle

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

XStream在转换器中获取父对象

对于本地转换器,当编组到XML时,有没有办法访问父对象?

我需要使用来自第三方源的项目对集合进行编组 - 使用存储在父对象中的id.

唉,似乎无法查询通向当前对象的对象路径.还是有吗?

xstream

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

用于抓取的无头Java HTTP客户端?

我正在寻找一个用Java编写的爬行工具来检测我们网站中的无效网址.

难点在于,大部分URL都是使用javaScript,CSS3和Ajax完成的.所以只是获取网站的网址内容是行不通的.

理想的是无头工具,能够执行javaScript,CSS样式和AJAX调用,并吐出它所访问的各种URL.

我确实意识到这是一个很高的要求,但也许它存在于某个地方?

javascript java web-testing web-crawler

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

批量重构以使Java方法参数最终

我正在寻找一种在完整的Java应用程序上执行批量重构的方法.在这里,即make方法参数final,但事实并非如此.

这里有人知道这样的工具吗?或者解析Java源代码的东西,可以通过这些更改进行扩展.

java coding-style final

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

AOP围绕外部库的重写方法?

我正在寻找以下问题的实用解决方案:

  • 外部库提供组件作为基类.
  • 自定义组件是通过扩展这些基类来完成的.
  • 当实现抛出未处理的异常时,基类会中断.
  • 基类源代码不可用.只有一个二进制jar.

我正在寻找的是有一个通用的AOP错误处理建议.它将包装从外部库直接覆盖或实现方法的每个方法的代码.基本上做一个try/catch来进行错误恢复.

我当然可以手动搜索它们.但是我们的代码库很广泛.覆盖外部库类的方法的可能性也是如此.因此,考虑AOP来帮助我.

加载时间编织被排除,因为它涉及Web应用程序.可能无法在应用程序服务器中添加JVM代理程序.所以它必须是编译时编织.

有人知道如何使用AspectJ做到这一点?

java aop scala aspectj

3
推荐指数
1
解决办法
1964
查看次数

是否建议在 Apache Karaf 上运行 Spring 4 应用程序?

我的问题实际上是标题:您建议在 Apache Karaf 中运行 Spring 4 应用程序吗?

如果没有,为什么不呢?如果这样做,如何进行?

容器、MVC 和数据就是所需要的。我过去已经在没有 OSGi 的情况下做过很多次了。对于 Karaf,我尝试了许多配置、清单、类路径和捆绑包。总是遇到奇怪的麻烦。最后让我想知道 Spring 是否仍然应该在 OSGi 中运行。如果是的话,有什么办法让它发挥作用?

因此我向有知识的人提出问题。:-)

spring osgi spring-mvc apache-karaf spring-data

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