小编Jes*_*eta的帖子

在Grails 2.3.6中定义备用连接池

我知道,在Grails 1.X和Grails 2.X之间的某个时刻,默认的连接池库从更改commons-dbcptomcat-dbcp.

现在,我正在尝试将BoneCP或HikariCP配置为Grails应用程序的连接池库.

但是,我看到这个答案提供的解决方案可能只适用于Grails 1.X.

我也找到了这个Gist,但同样,我不知道它适用于哪个Grails版本.

那么,是否可以在Grails 2.3.6应用程序中定义自定义连接池?谢谢!

grails connection-pooling bonecp hikaricp

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

将Spark DataSet行值映射到新的哈希列

给出以下DataSetinputData:

column0 column1 column2 column3
A       88      text    99
Z       12      test    200
T       120     foo     12
Run Code Online (Sandbox Code Playgroud)

在星火,什么是计算一个新的有效途径hash列,并将它添加到一个新的DataSet,hashedData其中hash被定义为应用MurmurHash3过的每一行的值inputData.

具体来说,hashedData如下:

column0 column1 column2 column3 hash
A       88      text    99      MurmurHash3.arrayHash(Array("A", 88, "text", 99))
Z       12      test    200     MurmurHash3.arrayHash(Array("Z", 12, "test", 200))
T       120     foo     12      MurmurHash3.arrayHash(Array("T", 120, "foo", 12))
Run Code Online (Sandbox Code Playgroud)

如果需要更多细节,请告诉我.

任何帮助表示赞赏.谢谢!

scala apache-spark spark-dataframe apache-spark-dataset

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

使用Gradle将属性添加到jar文件的清单中

我想将一些使用Gradle 1.6构建的jar文件捆绑为Java webstart应用程序的一部分.

我现在可以使用证书正确地签署jar,codebasepermissions使用标准jar任务指定生成的工件的属性和属性,如下所示:

jar {
    manifest.attributes provider: 'tribe7.net'
    manifest.attributes permissions: 'all-permissions'
    manifest.attributes codebase: '*'
}
Run Code Online (Sandbox Code Playgroud)

这是因为Oracle JDK/JRE中的最新Java webstart版本使这些属性成为必需属性,否则它会向用户抱怨应用程序的安全性.

防止RIA被重新利用

但是,我的工件罐子有第三方依赖(例如,slf4j),我还没有找到一种直观的方式将这些属性包含在这样的第三方罐子里.考虑到这一点,我的最终webstart应用程序结构看起来像这样:

./build/webstart/my.jnlp
./build/webstart/lib/myartifactA-1.00.jar
./build/webstart/lib/myartifactB-1.00.jar
./build/webstart/lib/myartifactC-1.00.jar
./build/webstart/lib/slf4j-api-1.7.5.jar
Run Code Online (Sandbox Code Playgroud)

结果是,在运行时,webstart不会抱怨我的工件,但是对于第三方jar这样做是因为他们显然没有清单文件中的属性:

Missing Codebase manifest attribute for:    file:/C:/build/webstart/lib/slf4j-api-1.7.5.jar
Missing Permissions manifest attribute for: file:/C:/build/webstart/lib/slf4j-api-1.7.5.jar
Missing Codebase manifest attribute for:    file:/C:/build/webstart/lib/slf4j-simple-1.7.5.jar
Missing Permissions manifest attribute for: file:/C:/build/webstart/lib/slf4j-simple-1.7.5.jar
Run Code Online (Sandbox Code Playgroud)

由于我不直接控制第三方jar的清单生成,因此我必须以某种方式修改目录中存在的清单文件,build/webstart/lib以明确包含这些属性,以使webstart满意.

有没有办法使用Gradle向jar文件的清单添加属性?如果有人感兴趣,这是我的Gradle构建脚本:

的build.gradle

感谢您的时间和帮助!

UPDATE

彼得的回答奏效了!这是更新的代码:

ant.jar(destfile: it, update: true) {
  delegate.manifest {
    attribute(name: 'permissions', value: 'all-permissions')
    attribute(name: 'codebase', value: '*')
  }
} …
Run Code Online (Sandbox Code Playgroud)

java security java-web-start gradle

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

使用Marklogic的Java搜索API和XQuery/XSLT API对XPath进行搜索

我有以下Marklogic查询,当在查询控制台中运行时,允许我检索具有管理员权限的系统用户:

xquery version "1.0-ml";
import schema namespace bfa="http://bitfood.org/auth" at "schema/auth/bitfood-auth.xsd";
cts:search(/bfa:AppUser[bfa:appAccess/@appRole = "ROLE_SYS_ADMIN"], cts:and-query(()))
Run Code Online (Sandbox Code Playgroud)

请原谅我的无知,但是是否可以仅使用Java客户端API实现此查询?

我知道我可以通过XCC使用原始查询,但我尽量避免这种情况.

我一直在深入研究Java客户端API的文档,遗憾的是,这些文档简要介绍了其他搜索方法,并没有发现任何暗示这是可能的.

更新1:伙计们,我想我在这里打了一场比赛.

根据此问题,Java客户端API的查询选项构建工具被标记为已弃用.

@ehennum建议使用XML或JSON查询选项的替代方案.但是,此类查询选项规范仍然在代码中基本上定义为原始字符串:

String xmlOptions =
  "<search:options "+
        "xmlns:search='http://marklogic.com/appservices/search'>"+
      "<search:constraint name='industry'>"+
        "<search:value>"+
          "<search:element name='industry' ns=''/>"+
        "</search:value>"+
      "</search:constraint>"+
  "</search:options>";
Run Code Online (Sandbox Code Playgroud)

当然,我可以使用JAXB,JDOM,文件或其他工具来创建XML,但我的个人意见是我们仍然依赖于在代码中的资源文件中存储查询,这本身并不是坏事,但没有仔细考虑可能导致代码维护噩梦.

此外,这些选项需要通过服务器上的REST持久化这一事实引入了另外一层潜在问题,以防这是必需的,因为选项可能需要与每个用于代码库的数据库实例同步.

因此,如果Marklogic开发人员正在监听,我认为Java客户端API并不像我预期的那样成熟或记录.

到目前为止我有两个选择:

1)我可以在String文件中对我的XCC查询进行硬编码,并尝试使用参数占位符来插入我需要的数据并通过XCC会话检索.要么.

2)查看http://marklogic.com/appservices/search命名空间是否有任何XSD文件,并从中创建静态JAXB对象,以便构建某种"标准"类,HibernateQueryDSL,遗憾的是,我必须说,它已经支持某种级别的MongoDB查询.

伙计们,真的,带来一些流利的查询设施,如QueryDSL到Marklogic,并摆脱这个Rube Goldberg查询机器.

更新2:似乎可以在ML7中解决这个问题.期待它.

谢谢!

java search xpath marklogic

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

与 ES6 类和 JSON 交换数据

我正在尝试找到一种使用 JSON 和 ES6 类交换数据的方法。

假设我有以下 ES6 类定义:

export default class Point {
    constructor(data = {}) {
        Object.assign(this, data);
    }
    get x() { return this._x; }
    set x(val) { this._x = val; }
    get y() { return this._y; }
    set y(val) { this._y = val; }
}
Run Code Online (Sandbox Code Playgroud)

以及以下对象实例:

let jsonIn = JSON.parse("{"x": "34", "y": "28"}");
let myPoint = new Point(jsonIn);
Run Code Online (Sandbox Code Playgroud)

检查后,myPoint将正确命名两个“内部”属性_x并分别_y设置为 34 和 28。所以从 JSON 到 ES6 类实例的对象水合是可能的。

但是,如果我现在尝试将此实例序列化回 JSON:

let myJson = JSON.stringify(myPoint); …
Run Code Online (Sandbox Code Playgroud)

javascript oop json ecmascript-6

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

如何用GL_UNIFORM_BLOCK_DATA_SIZE解释glGetActiveUniformBlockiv的含义

假设我有以下顶点着色器代码:

#version 330
uniform mat4 ProjectionMatrix, CameraMatrix, SingleModelMatrix;
uniform uint SingleModel;
layout (std140) uniform ModelBlock {
  mat4 ModelMatrices[128];
};

void main(void) {
  ... something that uses ModelMatrices
}
Run Code Online (Sandbox Code Playgroud)

如果在我的程序中,我对代表上述着色器的程序对象发出以下 OpenGL 调用:

getUniformBlockParameter(GL_UNIFORM_BLOCK_DATA_SIZE)
Run Code Online (Sandbox Code Playgroud)

我通过 Intel HD Graphics 4000 卡发现以下内容:

GLUniformBlock[
  name: ModelBlock, 
  blockSize: 8192,
  buffer: java.nio.HeapByteBuffer[pos=0 lim=8192 cap=8192], 
  metadata: {
    ModelMatrices=GLUniformBlockAttributeMetadata[
      name: ModelMatrices, 
      offset: 0, 
      arrayStride: 64,
      matrixStride: 16,
      matrixOrder: 0
  ]},
  uniforms: GLUniformInterface[
    uniforms: {
      ModelMatrices=GLUFloatMat4 [
        name:ModelMatrices, 
        idx:2, 
        loc:-1, 
        size:128, 
        glType:8b5c]
    }
  ]
]
Run Code Online (Sandbox Code Playgroud)

我应该如何解释blockSize参数?在OpenGL的3 SDK文档 …

opengl glsl opengl-3

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

使用 Groovy SQL 计算受影响的行数

假设我有以下 SQL 表定义:

create table test(
    id number(5) primary key
);
Run Code Online (Sandbox Code Playgroud)

此外,我想使用 Groovy 的 SQL 支持在所述表上执行INSERT和语句。DELETE

给定以下代码,该代码执行一条INSERT语句:

Sql db = new Sql(some_dataSource)
String query = "insert into test (id) values (999)"
def result = db.execute(query)
Run Code Online (Sandbox Code Playgroud)
  • 我可以知道,在这段代码中,插入了多少行test(在本例中为 1)?

  • result该变量对于确定这一点有用吗?

我尝试在此处此处查看 Groovy 的 SQL 支持文档,但提供的示例似乎仅对SELECT语句进行行计数。

谢谢!

sql groovy sql-insert sql-delete

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

将非连续数组索引从Scala Array提取到新数组中

请考虑以下Scala数组x定义

scala> val x = Array(10, 32, 45, 54, 44, 37)
x: Array[Int] = Array(10, 32, 45, 54, 44, 37)
Run Code Online (Sandbox Code Playgroud)

和索引selector,提供,并保证不包括越界索引值:

scala> val selector = Seq(0, 3, 5)
selector: Seq[Int] = List(0, 3, 5)
Run Code Online (Sandbox Code Playgroud)

在Scala中,selector结合使用的简洁方法是x仅选择那些x与所需索引匹配的索引selector来生成新result数组?具体来说,result预期为:

result: Array(10, 54, 37)
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.谢谢.

arrays scala

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