小编bra*_*ter的帖子

检查SQL数据库列中是否存在项列表的最佳方法是什么?

如果我有一个项目列表,请说

apples
pairs
pomegranites
Run Code Online (Sandbox Code Playgroud)

我想识别SQL DB表中'fruit'列中不存在的任何内容.

  • 快速性能是主要关注点.
  • 需要在不同的SQL实现上可移植.
  • 输入列表可以包含任意数量的条目.

我可以想到几种方法,我想把它扔出去看看你们的想法.

sql list exists

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

如何确认浮点处理的差异是否会导致不同的结果?

我已经转换了一个相对简单的算法,double该算法对从C++到Java 的类型数执行大量计算,但是在两个平台上运行算法但是同一台机器产生的结果略有不同.该算法将许多双精度和整数相乘和相加.我正在尝试将Java算法加倍; C算法没有投射.

例如,在一次运行中我得到结果:

  • (Java)64684970
  • (C++)65296408

(打印忽略小数位)

当然,我的算法可能存在错误,但是在我开始花时间调试之前,是否有可能通过C++和Java中的不同浮点处理来解释这种差异?如果是这样,我可以证明这是问题吗?


更新 - 类型不同的位置是两个整数之间的乘法,然后将其添加到运行的总双精度数中.修改了C代码,目前在两者中:

mydouble += (double)int1 * (double)int2

c++ java floating-point

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

如何使用JAX-RS,Spring和JPA管理事务

我正在使用JAX-RS提供基于HTTP的界面来管理数据模型.数据模型存储在数据库中并通过JPA进行交互.

这允许我修改数据模型的接口以适应REST客户端,并且大多数似乎工作得很好.但是,我不确定如何处理由JAX-RS资源提供的方法需要事务的情况,这会影响JPA get,update,commit-on-tx-end模式,因为只有事务包装get操作,因此永远不会提交更新.如果单个REST操作需要多个JPA操作,我可以看到同样的问题.

由于我正在使用Spring的事务支持,显而易见的事情是@Transactional在JAX-RS资源中应用这些方法.但是,为了实现这一点,Spring需要管理JAX-RS资源的生命周期,而我所知道的使用示例在需要时通过"new"创建资源,这让我有点紧张.

我可以想到以下解决方案:

  1. 更新我的JPA方法,以原子方式从我的REST接口提供我想要做的所有事务的事务管理版本.应该工作,将事务保持在JAX-RS层之外,但是阻止了get,update,commit-on-tx-end模式,这意味着我需要创建一个非常精细的JPA接口.
  2. 注入资源对象; 但它们通常是有状态的,至少保持与之交互的对象的ID
  3. 抛弃资源层次结构,在根部注入大型无状态超级资源,从根目录管理整个层次结构; 没有凝聚力,大服务
  4. 具有注入的,无状态的,支持事务的辅助对象的层次结构,它们"遮蔽"实际资源; 资源被实例化并保存状态,但是将方法调用委托给辅助对象

有人有什么建议吗?我很可能错过了某个关键点.


更新 - 为了解决get,update,commit-on-tx-close流程周围缺少事务的问题,我可以公开EntityManager merge(object)方法并手动调用它.不整齐,但不能解决更大的问题.


更新2 @skaffman代码示例:在JPA服务层,注入,注释工作

public class MyEntityJPAService {
...
@Transactional(readOnly=true) // do in transaction
public MyEntity getMyEntity(final String id) {
    return em.find(MyEntity.class, id);
}
Run Code Online (Sandbox Code Playgroud)

在JAX-RS资源中,由new创建,没有事务

public class MyEntityResource {
...
private MyEntityJPAService jpa;
...
@Transactional // not injected so not effective
public void updateMyEntity(final String id, final MyEntityRepresentation rep) {
    MyEntity entity = jpa.getMyEntity(id);
    MyEntity.setSomeField(rep.getSomeField());
    // no transaction commit, change not saved...
}
Run Code Online (Sandbox Code Playgroud)

spring jpa transactions jax-rs

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

具有Idempotency的云功能和Firebase Firestore

我正在使用带有云功能的测试版Firestore.在我的应用程序中,我需要触发一个侦听onCreate事件/company/{id}/point/{id}并执行插入的函数(collection('event').add({...}))

我的问题是:使用Firestore的云功能需要幂等功能.我不知道如何确保如果我的函数连续两次使用相同的事件触发,我将不会添加两个具有相同数据的文档.

我发现context.eventId可以解决这个问题,但我不认识一种使用它的方法.

exports.creatingEvents = functions.firestore
  .document('/companies/{companyId}/points/{pointId}')
  .onCreate((snap, context) => {

    //some logic...

    return db.doc(`eventlog/${context.params.companyId}`).collection('events').add(data)
})
Run Code Online (Sandbox Code Playgroud)

idempotent firebase google-cloud-functions google-cloud-firestore

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

我应该为小任务选择脚本或编译代码吗?

我是一名Java程序员,我喜欢我的编译器,静态分析工具和单元测试框架作为工具,可以帮助我快速提供强大而高效的代码.JRE几乎无处不在.

考虑到这种情况,我无法看到为什么我会选择使用shell脚本,vb脚本等,无论我穿着我的其他帽子如我的酷黑色系统管理员fedora,我的任务有多小.

我不经常戴其他帽子,在什么情况下我应该选择编写代码编写脚本?

testing scripting

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

为什么我的XSLT变量不能替换它们的值?

我试图使用XSLT变量并没有取得多大成功,希望我只是做一些愚蠢的事情.

我有以下代码片段:

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:xalan="http://xml.apache.org/xslt"
  version="1.0">

    <xsl:template match="/">
      <xsl:variable name="config" select="query/@config"></xsl:variable>
Run Code Online (Sandbox Code Playgroud)

所以我希望有一个变量'config'设置为我的顶级元素'query'的'config'属性的值.

然后我尝试在我的样式表中稍后使用该变量,例如:

<a href="localhost/test?go">
    {$config}
</a>
Run Code Online (Sandbox Code Playgroud)

但是我在输出HTML文档中看到的输出是:

<a href="localhost/test?go">
    {$config}
</a>
Run Code Online (Sandbox Code Playgroud)

所以价值没有像我预期的那样被替换.

我认为这可能是最简单的情况,所以我做了一些愚蠢的事情!请帮忙,谢谢!


更新感谢所有回复的人,我误解了我在属性或外部工作的不同背景.很好地排除了我的问题!

如果可以的话,我会接受两个答案,即我所拥有的答案,以及@Aaron Digulla,它解释了属性的问题.

xslt variables substitution

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

如何在Java中解析REXX代码?

我想解析REXX源代码,以便我可以从Java分析程序的结构.

我需要做一些事情,比如在源语法中规范化等价逻辑结构,语法不同,找到重复的变量声明等等,我已经有了Java背景.

比编写大量代码更简单的方法吗?

java parsing rexx

5
推荐指数
2
解决办法
973
查看次数

如何在Spring DI失败时阻止Java EE应用程序启动

(我不确定这个问题是否适用于一般的Java EE应用程序,或者是否特定于Websphere.)

当我们在部署到WebSphere的应用程序(例如,JNDI查找失败)上获得Spring DI故障时,应用程序似乎仍然已成功启动.

[15/02/11 17:21:22:495 GMT] 00000037 ContextLoader E org.springframework.web.context.ContextLoader initWebApplicationContext Context initialization failed
                                 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mybean' defined in
   ...big stack trace...
[15/02/11 17:21:22:526 GMT] 00000037 ApplicationMg A   WSVR0221I: Application started: myapp
Run Code Online (Sandbox Code Playgroud)

如果在弹簧初始化期间抛出异常,如何使应用程序无法启动?

websphere spring exception-handling java-ee

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

使用JSR303验证JAX-RS(Apache Wink)资源?

是否可以在JAX-RS资源上有效使用JSR303(Bean Validation)注释?

例如,如果我有一个资源成员,我注释了@NotEmpty,如果不满足此约束,则会向客户端生成错误?

这似乎是显而易见的事情,但也乐于被告知更好的方式(我不想将验证移到ORM /数据库级别)

java jax-rs bean-validation apache-wink

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

在tomcat7-maven-plugin目标中使用"提供的"类路径

我在webapp中有一些依赖项,我已将其标记为provided因为我希望它们由appserver提供(可能是生产环境在指定版本中提供这些依赖项).当我在我的localhost上运行测试或开发时,我如何使用例如tomcat7-maven-plugin目标这样的模拟run

如果不手动复制罐子,我无法看到任何方法.我可以看到如何使用test类路径 - 我正在尝试做什么有什么问题?

dependencies tomcat classpath maven tomcat7

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