在JNDI级别或Webapp级别连接池更有意义吗?例如,我可以简单地在javax.sql.DataSource创建:
<Context antiJARLocking="true">
<Resource name="jdbc/myDataSource"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/myDataSource" user="user" password="password" />
</Context>
Run Code Online (Sandbox Code Playgroud)
然后在Spring中配置池:
<bean id="myDataSource" class="com.mchange.v2.c3p0.DataSources"
factory-method="pooledDataSource">
<constructor-arg>
<jee:jndi-lookup jndi-name="java:comp/env/jdbc/myDataSource" />
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
或者,我可以直接在JNDI本身配置池:
<Resource name="jdbc/myDataSource"
auth="Container"
factory="org.apache.naming.factory.BeanFactory"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
driverClassName="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://localhost/myDataSource"
user="user" password="password"
minPoolSize="3"
maxPoolSize="15"
maxIdleTime="5000"
idleConnectionTestPeriod="300"
acquireIncrement="3" />
Run Code Online (Sandbox Code Playgroud)
离开这个春天:
<jee:jndi-lookup id="myDataSource" jndi-name="java:comp/env/jdbc/myDataSource" />
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,myDataSource spring bean都是一个c3p0连接池数据源,但哪一个更好?我认为在JNDI中使用池是最有意义的,但缺点是你必须将c3p0 lib推送到servlet容器级别,这可能会导致与现有servlet冲突,如果它们当前使用不同的版本.但是,将它放在JNDI中意味着您的应用程序根本不必担心池化.你们都在想什么?
我使用Cordova制作移动应用程序.使用react-router@2.0.0+ ReactCSSTransitionGroup来实现"卡片组"动画.我有一个严格的路由树,没有圆形链接的可能性.
为了提高性能并保存以前路由组件的状态,我想保留它们的整个历史记录只能在pop-state或replace-state上卸载.
怎么做?
我想打破下string一句话:
library(NLP) # NLP_0.1-7
string <- as.String("Mr. Brown comes. He says hello. i give him coffee.")
Run Code Online (Sandbox Code Playgroud)
我想展示两种不同的方式.一个来自包装openNLP:
library(openNLP) # openNLP_0.2-5
sentence_token_annotator <- Maxent_Sent_Token_Annotator(language = "en")
boundaries_sentences<-annotate(string, sentence_token_annotator)
string[boundaries_sentences]
[1] "Mr. Brown comes." "He says hello." "i give him coffee."
Run Code Online (Sandbox Code Playgroud)
第二个来自包装stringi:
library(stringi) # stringi_0.5-5
stri_split_boundaries( string , opts_brkiter=stri_opts_brkiter('sentence'))
[[1]]
[1] "Mr. " "Brown comes. "
[3] "He says hello. i give him coffee."
Run Code Online (Sandbox Code Playgroud)
在第二种方式之后,我需要准备句子以删除多余的空格或再次将新的字符串分解成句子.我可以调整stringi函数来提高结果的质量吗?
当它是一个大数据时,openNLP(非常)慢stringi.
有没有办法结合stringi( - >快速)和openNLP …
我想从反向运行开始查看文件的所有提交
git log --reverse [file]
Run Code Online (Sandbox Code Playgroud)
它按预期工作.但对于重命名的文件,它只显示在重命名的提交中,所以我在其中添加了--follow.
git log --reverse --follow [file]
Run Code Online (Sandbox Code Playgroud)
但它现在只显示为该文件完成的最后一次提交.
如何将两者结合起来以获得所需的结果.
我想安装htt2_module.按照此链接中列出的步骤重新安装Ubuntu 14.04后,我尝试启用http2_module刚刚运行
sudo a2enmod http2
Run Code Online (Sandbox Code Playgroud)
但我得到:模块http2不存在!
安装的apache版本是:Apache/2.4.7,然后作为一种解决方法我尝试使用此链接添加以下存储库
sudo add-apt-repository ppa:ondrej/apache2
Run Code Online (Sandbox Code Playgroud)
用sudo apt-get update刷新后,再次运行命令安装/启用http2我得到了同样的错误.模块http2不存在.
具有'in'表达式的JPA条件API转换为多个'OR'而不是'in'
例如
我的主要模特
public class Person {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "department_id")
private Department department;
...
}
Run Code Online (Sandbox Code Playgroud)
多对一的关系
public class Department {
@Id
@Column(name="department_id")
private Integer departmentId;
@OneToMany(mappedBy="department")
private List<Person> person;
...
}
Run Code Online (Sandbox Code Playgroud)
在persistence.xml中定义了这两个模型(注意:它没有指定任何db方言)
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"
version="2.1">
<persistence-unit name="primary" transaction-type="JTA">
<jta-data-source>java:openejb/Resource/jdbc/myDS</jta-data-source>
<class>com.xyz.Person</class>
<class>com.xyz.Department</class>
...
<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
<properties>
<property name="openjpa.Log" value="${open.jpa.log}" />
<property name="openjpa.ConnectionFactoryProperties" value="printParameters=true" />
<property name="openjpa.RuntimeUnenhancedClasses" value="unsupported" />
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
以下是使用Criteria API构建查询的代码:
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Person> criteriaQuery = cb.createQuery(Person.class);
Root<Person> personRoot = criteriaQuery.from(Person.class); …Run Code Online (Sandbox Code Playgroud) 我们有一个奇怪的问题,我们无法解释hibernate.
我们有什么:
类A和B的hibernate映射如下所示:
<hibernate-mapping>
<class name="A" table="A" lazy="false">
<id name="id" column="ID" type="java.lang.Integer">
<generator class="org.hibernate.id.enhanced.TableGenerator">
<param name="segment_value">a</param>
</generator>
</id>
<version name="olVersion" column="VERSION" type="integer" unsaved-value="negative" />
<joined-subclass name="SubA1" table="SUB_A1" lazy="false">
<key column="ID_A" foreign-key="FK_SUB_A1_A"/>
<property name="p1" column="p1" length="255" unique="true"/>
<property name="p2" column="p2" length="255" not-null="true" />
</joined-subclass>
<joined-subclass name="SubA2" table="SUB_A2" lazy="false">
<key column="ID_A" foreign-key="FK_SUB_A2_A"/>
<property name="p3" column="p3" length="255" not-null="true" unique="true" />
<property name="p4" column="p4" length="4000" />
</joined-subclass>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)和
<hibernate-mapping>
<class name="B" table="B" lazy="false">
<cache usage="read-write"/>
<id name="id" column="ID" type="java.lang.Integer"> …Run Code Online (Sandbox Code Playgroud) 我正在使用LIBSVM.在下载包中是一个svm_toy.java文件.我无法弄清楚它是如何工作的.这是源代码:
import libsvm.*;
import java.applet.*;
import java.awt.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
/**
* SVM package
* @author unknown
*
*/
public class svm_toy extends Applet {
static final String DEFAULT_PARAM="-t 2 -c 100";
int XLEN;
int YLEN;
// off-screen buffer
Image buffer;
Graphics buffer_gc;
// pre-allocated colors
final static Color colors[] =
{
new Color(0,0,0),
new Color(0,120,120),
new Color(120,120,0),
new Color(120,0,120),
new Color(0,200,200),
new Color(200,200,0),
new Color(200,0,200)
};
class point {
point(double x, double y, byte …Run Code Online (Sandbox Code Playgroud) 我使用MS Visual Studio 2015 构建了一个Windows 10 托管Web应用程序(HWA).现在,我已经研究过是否有办法为它创建一个独立的安装程序 - 它将生成的.appx和相关的文件捆绑成一键可执行文件.遗憾的是,到目前为止,我只是通过使用提供的PowerShell脚本成功地侧载HWA包.
在这种情况下,我查看了NSIS(Nullsoft Scriptable Install System)来为这个HWA创建一个安装程序.到目前为止,根据最新的更改日志,似乎只有"初步的Windows 10支持" (参见版本F.2 3.0 Beta 2).
所以我的问题是:
appx应用程序意味着什么?注意:
我对基于非Windows-Store的方法感兴趣,因为应用程序只能通过本地安装分发给一组经过验证的客户.
编辑-1:
我对其他(非基于NSIS的)安装程序创建方法持开放态度.
installer nsis win-universal-app windows-10 visual-studio-2015
我们使用javax.ws.rs.ext.ExceptionMapper<Exception>注释@javax.ws.rs.ext.Provider来处理所有异常.在内部,这ExceptionMapper可以区分不同类型的异常,以确定向客户端显示哪些信息.
在这种情况下javax.validation.ConstraintViolationException,我们返回有关哪个字段无效的其他信息以及原因.
我们刚刚切换TomEE 1.7.2 JAX-RS到TomEE 7.0.0-SNAPSHOT webprofile.
随着TomEE 1.7.2 JAX-RS我们使用的openejb.jaxrs.providers.auto=true系统属性,我们ExceptionMapper已自动发现和使用.
随着TomEE 7.0.0-SNAPSHOT webprofile物业不再需要从汽车发现中受益.
然而,org.apache.cxf.jaxrs.validation.ValidationExceptionMapper也发现,现在作为首选ExceptionMapper的javax.validation.ConstraintViolationException.我们自己ExceptionMapper没有运行,因此客户端无法获得有关验证过程中出错的信息.
我们自己ExceptionMapper<Exception>仍处理所有其他异常.
ExceptionMapper我把自己放在我的javax.ws.rs.ext.ExceptionMapper<javax.validation.ConstraintViolationException>资源旁边,希望它优先于CXF.
仍然org.apache.cxf.jaxrs.validation.ValidationExceptionMapper优先.
更新:事实证明这确实可以解决问题.我不知道为什么我的初步测试不起作用.
ValidationExceptionMapper通道system.properties在我注意到的更改日志中TomEE 7.0.0-SNAPSHOT
TOMEE-1336支持自动发现的提供程序的classname.activated = true/false
看看相应的变更集我希望我可以org.apache.cxf.jaxrs.validation.ValidationExceptionMapper通过向我们添加org.apache.cxf.jaxrs.validation.ValidationExceptionMapper.activated = false来禁用它system.properties. …