小编Séb*_*ien的帖子

如何通过Spring XML配置文件配置JPA EntityListener?

我有两个webapps,它们一起构建,分别提供对数据库的客户端和管理员访问.

我想将两个JPA EntityListeners注册到给定的类,每个应用程序一个.为此,我试图找到一种方法来通过配置每个应用程序的JPA上下文的Spring XML配置文件来注册侦听器......并且找不到任何方法.

有没有人做过类似的事情?

以下是XML配置文件的一部分:

<bean id="tempEntityManagerFactory"
  class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
  p:dataSource-ref="tempDataSource" p:persistenceUnitName="tempJpa" >

  <property name="jpaVendorAdapter">
    <bean
      class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"
      p:database="ORACLE" 
      p:databasePlatform="org.hibernate.dialect.Oracle9iDialect"
      p:showSql="false"   />
  </property>

  <property name="jpaProperties">
    <props>
      <prop key="hibernate.hbm2ddl.auto">validate</prop>
    </props>
  </property>

</bean>
Run Code Online (Sandbox Code Playgroud)

我认为有一种方法可以在这些元素周围注册一个监听器,尤其是JPAProperties,因为它似乎是设置JPA配置元素的地方......

JPA规范讲的是实体监听器XML元素,但是我找不到在可用的Spring元素中注入它们的方法......

我对Spring很新,所以我可能误解了一些事情......感谢您的帮助!

java spring entity jpa listener

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

我应该在新机器上使用Eclipse 32位还是64位?

这可能是一个愚蠢/天真的问题,如果是,请原谅我:)

我有一台全新的机器,具有以下规格:

  • Inter Core i7 2600@3.4GHz
  • RAM 8 GB
  • Windows 7的

这台机器有64位架构.

在我之前的机器上,我曾经安装了32位版本的Eclipse并使用32位JRE运行它,而我当前的Eclipse设置在新机器上完美运行.

我尝试安装64位版本的Eclipse,并使用64位JRE运行它,我想知道是否有任何令人信服的理由转换到这种设置或坚持我现有的安装.我想我必须重新安装所有插件,并且可能发现其中一些插件与64位版本的Eclipse不兼容.

到目前为止,64位版本似乎需要比32位版本更多的RAM,这是我预期的,但似乎没有任何改进.

谢谢你的建议!

eclipse 32bit-64bit

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

构建促销:您如何管理依赖项?

我试图了解将我们的Java项目从Snaphot/Release策略切换到构建促销的所有含义.

一个明显的步骤是每个构建最终会创建一个可能一直到生产环境的工件,因此不再存在快照.但是,我应该如何管理从项目到其他工件的链接,这可能会也可能不会被允许进行生产?

我很难找到关于这个特定主题的有价值的信息.当然,构建促销的内容很多,但是根据迁移到构建促销的依赖管理的可见性较低.

我看到两个选择:

  • 人们只能依赖先前提升到生产环境的工件
  • 当一个依赖于另一个工件时,构建的工件只能转到其依赖项的最后一个环境.也就是说,如果我依赖于允许进行测试而不是生产的工件,那么我的构建将不会被允许进行生产

是否有关于此主题的行业标准?还是最佳实践?

非常感谢你的帮助 :)

编辑:我们向Artifactory部署了三种工件:

  • 图书馆

  • 耳朵

  • EAR内的模块.其中一些是任何想要与当前构建的EAR交互的EAR所需的"公共"层

我们将EAR部署到JEE服务器.我们的库和公共层部署到Artifactory并打包在EAR中,因此它们不直接部署在JEE容器上.

一个项目构建了几个模块,所有内容都包含在EAR中,以及它的依赖项.一个项目可以依赖于另一个项目的模块,这就是它变得复杂的地方......

java continuous-integration artifactory continuous-deployment continuous-delivery

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

在Powershell中,如何在ZipFile.OpenRead之后关闭句柄?

我正在制作一个更新一些文件的Powershell(3.0版,.Net framework 4.5)脚本.但是,有些需要先进行检查.

我打开一个JAR文件并使用以下代码获取条目的内容:

[Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
$zentry = [IO.Compression.ZipFile]::OpenRead($moduleJarPath).Entries | Where-Object {$_.FullName -match '.*pom.xml'}
Run Code Online (Sandbox Code Playgroud)

使用System.IO.StreamReader读取该条目,该读取在读取后立即在finally块中关闭.

在脚本的下方,我将使用更新的JAR文件更新,该文件可能具有相同的名称.在这种情况下,脚本失败:

Copy-Item : The process cannot access the file 'E:\path\to\my\artifact.jar' because it is being used by another process.
Run Code Online (Sandbox Code Playgroud)

看起来锁是由我自己的脚本保存的,这似乎是合乎逻辑的,因为我刚刚访问了JAR.我想关闭句柄,以便我的脚本可以覆盖JAR.

在IO.Compression.ZipFile 文档中,没有"关闭"方法.

我怎样才能解锁?

谢谢!:)

powershell powershell-3.0

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