小编Jus*_*tin的帖子

使用Struts存储Hibernate SessionFactory

我开始使用Hibernate和Struts 2进行相对简单的Web项目.出于性能原因,我知道建议最小化您创建Hibernate Configuration和SessionFactory对象的次数.

任何人都可以提供一些关于这是否是一个好方法或是否有更好的方法的输入?我基于这个我在这里找到例子的代码.

方法是在ServletContextListener的contextInitialized方法中创建SessionFactory并将其存储在ServletContext中.

我注意到这个例子似乎没有关闭SessionFactory所以我在contextDestroyed中添加了一些代码.这有必要吗?

非常感谢任何输入.如果你能提出更好的例子,我很乐意看看它们.我也看过一些Struts的"Full Hibernate插件"的引用.这是一种常用且更好的方法吗?

FWIW,我正在使用Eclipse并使用MySQL部署到Tomcat

public class HibernateListener implements ServletContextListener {

private Configuration config;
private SessionFactory sessionFactory;
private String path = "/hibernate.cfg.xml";

public static final String KEY_NAME = HibernateListener.class.getName();

@Override
public void contextDestroyed(ServletContextEvent arg0) {
    if ( sessionFactory != null ) {
        sessionFactory.close();
    }

}

@Override
public void contextInitialized(ServletContextEvent arg0) {
    try {
        URL url = HibernateListener.class.getResource(path);
        config = new Configuration().configure(url);
        sessionFactory = config.buildSessionFactory();

        // save the Hibernate session factory into serlvet …
Run Code Online (Sandbox Code Playgroud)

hibernate struts2

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

如何将 OpsCenter 与 CCM 结合使用?

我是 Cassandra 的新手,想在我使用 CCM 创建的开发集群上运行 OpsCenter。

我看到 CCM 有一个用于配置 OpsCenter 的 -o 选项,如此处所述。但是,尚不清楚如何使用此选项。

这是我迄今为止尝试过的:

ccm create test_cluster -v 2.1.2 -o OPSCENTER
ccm populate -n 3
ccm start -v
Run Code Online (Sandbox Code Playgroud)

当我打开 OpsCenter 时,我看到: 3 agents failed to connect

ccm create -h对于-o OPSCENTER节目:Download and use provided opscenter version to install with DSE. Will have no effect on cassandra installs)

我不清楚如何继续。

cassandra

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

为什么在这里发出'SHOW WARNINGS'查询?(JPA /休眠/ MySQL的)

我们正在将Java模板的持久层从JDBC模板重构为JPA/Hibernate.

我正在分析发给数据库的SQL语句,我看到很多次发出"SHOW WARNINGS".据JProfiler称,"SHOW WARNINGS"占据了相当数量的"固有时间".

什么可能导致SHOW WARNINGS频繁发布?

使用Jdbc模板时,以前未发布此SHOW WARNINGS.

下面是与持久性相关的堆栈部分.这里唯一的变化是引入了JPA/Hibernate.

  • JPA/Hibernate:4.3.6
  • MySQL驱动程序:5.1.33
  • MySQL数据库:5.6.20
  • JDBC连接池:HikariCP-2.3.2

编辑:这是发布SHOW WARNINGS时的示例堆栈跟踪.

com.mysql.jdbc.StatementImpl.getWarnings()
com.zaxxer.hikari.proxy.PreparedStatementJavassistProxy.getWarnings()
org.hibernate.jpa.internal.QueryImpl.getSingleResult()
com.mysema.query.jpa.impl.AbstractJPAQuery.getSingleResult(javax.persistence.Query)
com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult()
com.mysema.query.jpa.impl.AbstractJPAQuery.uniqueResult(com.mysema.query.types.Expression)
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[ ])
com.sun.proxy.$Proxy115.findOne(com.mysema.query.types.Predicate)
Run Code Online (Sandbox Code Playgroud)

mysql hibernate jpa hikaricp

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

Jersey资源从Jersey客户端接收重复请求

我们最近在服务器和客户端上从Jersey 1.x升级到Jersey 2.22.1.我们现在间歇地看到泽西岛将提出/接收两个请求.

  • 通过间歇性我的意思是几千个请求中的每一个.
  • 我们从未使用Jersey 1.x遇到过这个问题.
  • 我不清楚这是客户端还是服务器端的问题.
  • 在客户端,日志仅显示单个 POST请求和响应(请参阅下面的代码段)
  • 在服务器端,日志显示两个 POST请求和响应(请参阅下面的代码段)

我可以通过在此客户端POST请求上循环数千次来重现它.每个请求都会发送一个唯一的"名称",该名称将保留在服务器上.我知道当我遇到一个唯一的约束违规试图保持两次相同的"名称"时,我们收到了一个重复的请求.我排除了代码的其他部分,因为日志确认Jersey正在接收两个相同"名称"的POST请求

我已在服务器上的org.glassfish包中启用了跟踪日志记录,并在客户端上注册了LoggingFilter().

客户端仅显示1个POST请求和响应:

Jun 21, 2016 6:02:51 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 8291 * Sending client request on thread main
8291 > POST http://localhost:9797/my-webapp/v1/data-feeds/
8291 > Accept: application/json
8291 > Content-Type: application/json

Jun 21, 2016 6:02:51 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 8291 * Client response received on thread main
8291 < 200
8291 < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
8291 < Content-Length: 181
8291 < Content-Type: application/json …
Run Code Online (Sandbox Code Playgroud)

tomcat jax-rs jersey jersey-client jersey-2.0

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

Facebook应用程序是使用PhoneGap或Appcelerator等移动开发框架构建的吗?

我发现有很多 消息来源将Facebook应用程序作为混合应用程序的一个例子.

据我所知,Hybrid App这个术语被广泛定义为在本机应用程序中包装WebView的任何智能手机应用程序.

有手机开发框架(PhoneGap,Appcelerator等),使开发人员能够使用他们现有的网络开发技能(HTML5,Javascript,CSS)构建应用程序,同时提供对核心电话功能(相机,地址簿等)的访问.

因此,由于Facebook是一个混合应用程序,可以访问手机的核心功能,如推送通知和相机,我很好奇:

Facebook应用程序是使用移动开发框架构建的吗?

facebook appcelerator push-notification hybrid cordova

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

是什么导致这个堆栈跟踪?(gtalkservice&jivesoftware.smack)

下面的详细信息,但基本上我正在试图了解我的Droid上发生了什么错误.

细节:我正在努力加快C2DM的速度.我正在测试使用Urban Airship的推送通知服务(目前为止非常酷的IMO)通过C2DM向Android上运行的应用程序发送通知.

我的Droid(运行Android 2.2.2)不显示通知,每次我认为在设备上收到通知时,我都会看到写入LogCat的堆栈跟踪.

我不知道是什么产生了堆栈跟踪.我知道每当我通过Urban Airship的网站向设备发送推送通知时,它就会生成.

我非常确定我已经正确配置了我的C2DM,Urban Airship和Android应用程序,因为我可以在Android模拟器上使用相同的应用程序和Google帐户成功接收和显示通知.仅供参考 - Android应用程序是Urban Airship的示例Android推送应用程序,使用我的配置信息进行编辑.

由于它在Android模拟器中工作并且在我的实际设备上失败,我假设我的设备有一些导致它失败的东西.因此,对下面的堆栈跟踪感兴趣.

11-11 16:15:28.894: E/TalkProvider(4433): query db caught 
11-11 16:15:28.894: E/TalkProvider(4433): java.lang.IllegalArgumentException: the bind value at index 2 is null
11-11 16:15:28.894: E/TalkProvider(4433):   at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:234)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.database.sqlite.SQLiteQuery.bindString(SQLiteQuery.java:182)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:48)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1345)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.database.sqlite.SQLiteQueryBuilder.query(SQLiteQueryBuilder.java:330)
11-11 16:15:28.894: E/TalkProvider(4433):   at com.google.android.gsf.talk.TalkProvider.queryInternal(TalkProvider.java:1740)
11-11 16:15:28.894: E/TalkProvider(4433):   at com.google.android.gsf.talk.TalkProvider.query(TalkProvider.java:1436)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.content.ContentProvider$Transport.query(ContentProvider.java:163)
11-11 16:15:28.894: E/TalkProvider(4433):   at android.content.ContentResolver.query(ContentResolver.java:245)
11-11 16:15:28.894: E/TalkProvider(4433):   at …
Run Code Online (Sandbox Code Playgroud)

android push-notification urbanairship.com android-c2dm

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

当作为公司员工工作时,每个iOS开发人员需要什么(许可/帐户)?

请原谅我的Apple和iOS dev noobness.:)

在以下情况下,我试图从许可和Apple帐户角度确切地弄清楚公司和每个开发人员需要做什么:

一家公司希望做一些iOS开发工作,主要是原型设计,现在基本熟悉iOS开发.公司开发团队主要是Windows/Java,所以我们还没有任何Mac硬件或Apple许可证.

这是一些细节:

  • 这是一家真正的公司,因此我们将能够为Apple提供身份验证过程中所需的一切.
  • 如果我们超越原型设计,应用最终将通过应用商店提供.
  • 开发人员(现在可能最多5人)将在项目之间使用时间来实现并加快速度.因此,我们正在考虑让目前在该组中分享一两台Mac.如果我们后来认真,那么每个开发人员都可以获得专用机器.

我知道公司需要注册iOS开发者计划.

但是每个开发者呢?为公司工作的每个开发人员都需要自己的Apple帐户和/或许可吗?

为清晰起见编辑:我只是想了解在上述场景中遵守许可证需要做些什么.当然不是想以便宜的方式逃脱或绕过任何东西.

licensing iphone-developer-program ios

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

是否有创建BPMN的Java API?

有没有办法通过Java API 以编程方式创建BPMN 2.0

我知道我可以使用图形建模工具或手工创建BPMN XML,但我正在寻找一种在运行时动态创建它的方法.

就我而言,BPMN将通过jBPM执行.在jBPM的文档说,你可以使用他们的API定义流程,但他们不推荐使用这种"从内部API保护自己".如果有一个API没有绑定到特定的供应商,那将是很好的.

java api business-process-management bpmn

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

pages.github.com是否支持前面的目录名称.(点)?

我正在使用Maven插件(jacoco-maven-plugin)生成一个站点报告,其图像和css文件位于前面的文件夹中.(点)在名称中.例如:/site/jacoco/.resources/report.css

当我将它发布到我的pages.github.com网站(使用site-maven-plugin)时,我的特殊Github分支(gh-pages)中的所有内容都存在.

但是,当我尝试访问具有前面的文件夹中的资源时,我得到了404.(点)文件夹名称.

一个简单的例子:https:
//github.com/justinhrobbins/FlashCards_App/blob/gh-pages/test/.resources/index.html

当我尝试在浏览器中访问它时,我得到一个404:http:
//justinhrobbins.github.io/FlashCards_App/test/.resources/index.html

但是,如果我删除了.(点)从文件夹名称它工作正常:
https://github.com/justinhrobbins/FlashCards_App/blob/gh-pages/test/resources/index.html
http://justinhrobbins.github.io/FlashCards_App/test/资源/ index.html的

所以我假设pages.github.com不支持文件夹名称中的前面的点(并且使用前面的点的谷歌搜索显示可能不是推荐的做法)但是会感谢确认.

编辑:仅供参考 - 当我发布类似于Tomcat时,它甚至可以使用名称前面带有点的文件夹

jacoco github-pages

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

使用@JsonFilter时,带有杰克逊的Spring RestTemplate抛出“无法解析BeanPropertyFilter”

我可以指定ObjectMapperSpring RestTemplate使用的Jackson 吗?

我不是100%这就是我需要做的,但请参阅下面的详细信息。

背景:此StackOverflow帖子的帮助下,我在域类中添加了@JsonFilter并编辑了我的jax-rs Web服务(在CXF中实现)。现在,我可以成功地动态选择要在我的RESTful API中返回的域类字段。到目前为止,一切都很好。

我在JUnit测试中使用Spring的RestTemplate来测试RESTful API。在我将@JasonFilter添加到我的域类之前,它一直运行良好。现在,我得到以下异常:

org.springframework.web.client.ResourceAccessException:I / O错误:无法解析ID为'apiFilter'的BeanPropertyFilter。未配置FilterProvider;嵌套的异常是org.codehaus.jackson.map.JsonMappingException:无法解析ID为'apiFilter'的BeanPropertyFilter。未配置FilterProvider

在org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:453)

为简洁起见,其余的堆栈跟踪被省略

引起原因:org.codehaus.jackson.map.JsonMappingException:无法解析ID为'apiFilter'的BeanPropertyFilter。未配置FilterProvider

在org.codehaus.jackson.map.ser.BeanSerializer.findFilter(BeanSerializer.java:252)

我在服务器端遇到了类似的问题,并且可以通过给Jackson 如下所示来解决此问题(在此职位的帮助下):FilterProviderObjectMapper

ObjectMapper mapper = new ObjectMapper();
FilterProvider filters = new SimpleFilterProvider().addFilter("apiFilter", SimpleBeanPropertyFilter.filterOutAllExcept(filterProperties));
Run Code Online (Sandbox Code Playgroud)

我可以在RestTemplate端做类似的事情吗?任何有关如何解决此问题的想法都将受到赞赏。

为了清楚起见,在客户端RestTemplate端,我根本不想过滤域对象属性。

spring jackson

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