小编Sha*_*ara的帖子

我应该为JBDC模板使用什么事务管理器使用JPA?

我正在为我的JPA事务使用标准的JPA事务管理器.但是,现在我想添加一些将共享相同"数据源"的JDBC实体.如何使用spring事务使JDBC操作具有事务性?我是否需要切换到JTA事务管理器?是否可以将JPA和JDBC事务服务与相同的数据源一起使用?更好的是,是否可以混合这两笔交易?

更新:@Espen:

我有一个从SimpleJdbcDaoSupport扩展的dao,它使用getSimpleJDBCTemplate.update插入数据库行.当从服务代码抛出RuntimeException时,事务在使用JPATransactionManager时永远不会回滚.它在使用DatasourceTransactionManager时会回滚.我试图调试JPATransactionManager,似乎它永远不会对底层的JDBCConnection执行回滚(我想这是因为数据源不一定是JPA的JDBC).我的配置设置与您在此处解释的完全相同.

这是我的测试代码:

<context:property-placeholder location="classpath:*.properties"/>

<!-- JPA EntityManagerFactory -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="persistenceXmlLocation"
        value="classpath:/persistence-test.xml" />
    <property name="persistenceProvider">
        <bean class="org.hibernate.ejb.HibernatePersistence" />
    </property>

</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<!--
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"></property>
</bean>
-->

<!-- Database connection pool -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${database.driverClassName}" />
    <property name="url" value="${database.url}" />
    <property name="username" value="${database.username}" />
    <property name="password" value="${database.password}" />
    <property name="testOnBorrow" value="${database.testOnBorrow}" />
    <property name="validationQuery" value="${database.validationQuery}" />
    <property name="minIdle" value="${database.minIdle}" /> …
Run Code Online (Sandbox Code Playgroud)

java spring jpa jdbc

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

添加边界半径时边框和图像之间的间隙

我有一个边框半径为50%的图像和一个3px的边框.我的问题是当给出边界半径时,图像和边界之间有1px的间隙.

问题在下图中展示.

在此输入图像描述

而我正在使用的CSS,

img {
    border: 3px solid #4CB7AC;
    height: 46px;
    width: 46px;
    border-radius:50%;
}
Run Code Online (Sandbox Code Playgroud)

注意

  • 图像尺寸为46px X 46px.没有调整大小.
  • 我必须<img>用来获取图像.排除将其设置为背景图像.
  • 解决方案必须与所有浏览器兼容.甚至是IE8.

有没有办法消除这种差距?

编辑 JS小提琴链接

html css image css3

18
推荐指数
2
解决办法
5711
查看次数

如何使用Meteor将文件上传到Amazon S3?

我正在尝试将文件上传到我的Amazon S3 Bucket.S3和亚马逊成立.这是来自亚马逊的错误消息:

冲突的查询字符串参数:acl,policy

使用Node.js的Crypto.js对策略和签名进行编码

var crypto=Npm.require("crypto");
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Meteor HTTP.post方法构建POST请求.这也可能是错误的.

    var BucketName="mybucket";
    var AWSAccessKeyId="MY_ACCES_KEY";
    var AWSSecretKey="MY_SECRET_KEY";

    //create policy
    var POLICY_JSON={
        "expiration": "2009-01-01T00:00:00Z",
            "conditions": [ 
            {"bucket": BucketName}, 
            ["starts-with", "$key", "uploads/"],
            {"acl": 'public-read'},
            ["starts-with", "$Content-Type", ""],
            ["content-length-range", 0, 1048576],
        ]   
    }
    var policyBase64=encodePolicy(POLICY_JSON);
    //create signature
    var SIGNATURE = encodeSignature(policyBase64,AWSSecretKey);
    console.log('signature: ', SIGNATURE);
Run Code Online (Sandbox Code Playgroud)

这是我在Meteor上使用的POST请求:

    //Send data----------
    var options={
        "params":{
            "key":file.name,
            'AWSAccessKeyId':AWSAccessKeyId,
            'acl':'public-read',
            'policy':policyBase64,
            'signature':SIGNATURE,
            'Content-Type':file.type,
            'file':file,
            "enctype":"multipart/form-data",
        }
    }

    HTTP.call('POST','https://'+BucketName+'.s3.amazonaws.com/',options,function(error,result){
        if(error){
            console.log("and HTTP ERROR:",error);
        }else{
            console.log("result:",result);
        }
    });
Run Code Online (Sandbox Code Playgroud)

她正在对政策和签名进行编码:

encodePolicy=function(jsonPolicy){
    // …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-s3 amazon-web-services meteor

12
推荐指数
2
解决办法
5899
查看次数

如何通过使用socket.FileSend方法发送的TCP文件

我有一个客户端应用程序和一个服务器.

我想从一台机器发送文件到另一台机器,所以它似乎是套接字.FileSend方法正是我正在寻找的.

但是由于没有FileReceive方法,我应该在服务器端做什么来接收文件?(我的问题是因为文件将具有可变大小,并且将比我可以创建GB顺序的任何缓冲区大...)

c# file

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

无法发布API项目的Google Apps Marketplace清单审核请求

我的要求是启用OAuth 2.0现有的OAuth 1.0应用程序Google Apps Marketplace.我在控制台中创建了新的Google项目并为其创建了一个列表.现在我需要提交Google Apps Marketplace Listing Review Request.因为它是一个仅使用的API项目,Google Apps Marketplace SDK所以我无法对我的应用列表发出评论请求.由于我在所需部分中没有列出任何API,因此请求提交失败.

应用程序和列表经过测试安装到应用程序和项目的所有者(创建者)拥有的测试域.

对于应用发布使用这个文件,对用于项目创建这个文件.

我的问题是如何才能发布仅使用Google Apps Marketplace SDK的项目?有没有其他方法可以像仅创建Crome Web Store而不是发布到Google Apps Marketplace一样?

编辑:

以下是范围设置代码和用户详细信息,用于检索我在应用程序的编程/实现端使用的代码.

// Create new instance of Google_Client
$client = new Google_Client();
$client->setClientId(GOOGLE_APP_CLIENT_ID);
// Set client secret
$client->setClientSecret(GOOGLE_APP_CLIENT_SECRET);
// Set redirect URI, this matches the Redirect URIs set in OAuth 2.0 client settings
$client->setRedirectUri(GOOGLE_APP_CLIENT_REDIRECT_URI);
// Set scopes
$client->addScope("openid profile email");

// …
Run Code Online (Sandbox Code Playgroud)

google-apps google-apps-marketplace google-oauth

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

不支持的类型-MySQL 5.7.8之前的JSON数据不可用

我运行本地MySQL实例的版本5.7.23Ubuntu-18-04。数据库已经有一些具有JSON字段的表来存储JSON数据。它们可以很好地进行插入,更新和删除操作。

当尝试修改现有表以具有用于存储JSON数据的新字段时,就会出现问题。MySQL-Workbench给一个错误的说法

不支援的类型

在MySQL 5.7.8之前,JSON数据不可用。为了使用它,首先将模型的版本设置为5.7.8或更高

以下屏幕截图显示了我的本地环境信息。

错误: 在此处输入图片说明

MySQL服务器信息: 在此处输入图片说明

MySQL Workbench信息: 在此处输入图片说明

mysql mysql-workbench

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

SVG到PNG文本显示不正确 - Arial字体

我有一个使用Apache Batik转换PNG的问题是不同的,当有一个不同的字体系列的文本,如Arial.问题出现在Cent OS 6运行Tomcat 7和Java 6的环境中.

用于将SVG转换为PNG的Java代码是:

// Convert the SVG image to png and send back
PNGTranscoder transcoder = new PNGTranscoder();
// 
TranscoderInput input = new TranscoderInput(new ByteArrayInputStream(svgImage));
outStream = new ByteArrayOutputStream();
TranscoderOutput output = new TranscoderOutput(outStream);

// Transcode the given SVG
transcoder.transcode(input, output);

outStream.flush();

pngImage = outStream.toByteArray();
Run Code Online (Sandbox Code Playgroud)

我要转换为PNG的SVG文件是:

<svg version="1.1" x="0" y="0" id="hjtqebzv1" width="610" height="240" xmlns="http://www.w3.org/2000/svg" xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xlink="http://www.w3.org/1999/xlink">
  <defs>
    <linearGradient id="LFFFFFF0" x1="0%" y1="0%" x2="100%" y2="0%">
      <stop offset="0%" style="stop-color:#FFFFFF;stop-opacity:0.8"/>
      <stop offset="100%" style="stop-color:#FAFAFA;stop-opacity:1"/>
    </linearGradient>
  </defs>
  <g id="hjtqebzv-o1" transform="translate(5,5)">
      <rect x="1" …
Run Code Online (Sandbox Code Playgroud)

svg png transcoding batik

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

Mixpanel javascript集成:在mixpanel端以错误的顺序记录连续事件

我正在网页上录制两个事件

  1. 寄存器
  2. 计划完成

这两个事件记录在该页面中,因为用户可以注册并完成该过程(用户注册在表单提交内部处理并将其记录在整个页面中).记录JS代码的事件按上述顺序连续排列.

那些事件相关的mixpanel.track函数调用按顺序发出.问题有时是计划完成事件记录在服务器中的注册之前.我已经检查了Mixpanel的实时视图,并注意到这种情况随机发生,概率约为0.1.

我想通过设置订单号或本地时间戳或任何其他方式来了解是否有办法解决此问题.

我的环境是:

  • Mixpanel:JS库
  • 浏览器:Windows 7中的chrome

javascript mixpanel

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

无法处理来自 Jar 的 jar 条目

我正在尝试在 restful API 上运行简单的程序,但出现以下异常

>Sep 12, 2016 10:05:02 AM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: Unable to process Jar entry [javassist/tools/rmi/RemoteRef.class] from Jar [jar:file:/C:/Users/user/examples/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/demoWebservice/WEB-INF/lib/javassist-3.19.0-GA.jar!/] for annotations
java.io.EOFException
    at java.io.DataInputStream.readUnsignedShort(Unknown Source)
    at org.apache.tomcat.util.bcel.classfile.Utility.swallowMethodParameters(Utility.java:797)
    at org.apache.tomcat.util.bcel.classfile.Attribute.readAttribute(Attribute.java:171)
    at org.apache.tomcat.util.bcel.classfile.FieldOrMethod.<init>(FieldOrMethod.java:57)
    at org.apache.tomcat.util.bcel.classfile.Method.<init>(Method.java:71)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.readMethods(ClassParser.java:267)
    at org.apache.tomcat.util.bcel.classfile.ClassParser.parse(ClassParser.java:127)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsStream(ContextConfig.java:2058)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1934)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1900)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1885)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1317)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5378)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

我的 web.xml 如下所示... …

java rest tomcat jar maven

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

如何自定义 Meteor 帐户-ui 模态弹出对话框?

我想为流星accounts-ui密码重置模型弹出对话框添加自定义样式。不添加accounts-ui-unstyled我怎么能做到这一点?有没有办法打开我们的自定义密码重置模板链接?

meteor meteorite

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