小编Sys*_*Hex的帖子

使用Java API连接到远程neo4j

我正在编写一个使用neo4j的测试应用程序.我一直在尝试按照一些教程,在线阅读,并检查文档,最常用的方法是使用嵌入式neo4j.

现在,由于多种原因,这对我不起作用.(例如,不同机器上的服务器等)

我正在使用 :

"org.neo4j" % "neo4j" % "2.1.5",
"org.neo4j" % "neo4j-rest-graphdb" % "2.0.1",
Run Code Online (Sandbox Code Playgroud)

并以这种方式连接到neo4j:

GraphDatabaseService gds = new RestGraphDatabase("http://neo4jserver_address:7474/db/data");
Run Code Online (Sandbox Code Playgroud)

如前所述,在另一篇SO帖子中,这RestGraphDatabase不是一个完整的实现GraphDatabaseService,在尝试使用时会导致各种各样的麻烦,例如:

"com.graphaware.neo4j" % "timetree" % "2.1.5.25.18",
Run Code Online (Sandbox Code Playgroud)

此外,由于同样的问题RestGraphDatabase不允许使用的事实GlobalGraphOperations.

我已经尝试查找我发现的官方文档,并再次给出了嵌入式数据库的示例.

我的问题是,如果有人知道以正确的方式连接到远程neo4j服务器的正确方法,我可以在文档中的哪些地方读到这一点?

此外,我没有使用neo4j HA,虽然我有一年的测试许可证.

PS - 不需要通过REST连接.协议是无关紧要的,问题是如何使用API​​连接到远程neo4j服务器(通过任何协议)并最终实现正确的完整实现GraphDatabaseService

neo4j

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

GDAX api - 获取历史汇率返回不一致的结果

使用GDAX api使用以下内容调用历史价格时:

https://api.gdax.com/products/ETH-EUR/candles?start=2017-07-02T15:25:00.00000Z&end=2017-07-02T16:12:00.00000Z&granularity=30

我总是得到200代码响应,但有时它返回:

[]

和其他时间:

[[1499011890,234.98,235,234.98,235,7.582868079999999],[1499011830,234.4,235,234.4,235,17.7272481],[1499011680,233.71,233.71,233.71,233.71,1.61151688],[1499011650,233.71,233.71,233.71,233.71, 0.85362734],[1499011350,233.71,233.71,233.71,233.71,1.5],[1499011320,233.48,233.67,233.48,233.67,5.22588745],[1499011290,233.48,233.48,233.48,233.48,1.11358574],[1499011200,233.48, 233.48,233.48,233.48,1.70893649],[1499010990,233.44,233.47,233.44,233.47,8.34642375],[1499010270,230.11,233,231,233,9.30791793],[1499010240,231,231,231,231,10],[1499009850,233.02,233.02,233.02, 233.02,0.0000428],[1499009640,230.26,231.64,231.64,230.26,10.81225691],[1499009250,231,231.55,231.55,231,15],[1499009100,231,231.92,231.92,231,20]]

谁能解释这种行为?

如果是达到限制的情况,我期待"429太多请求",我很确定情况并非如此.

coinbase-api

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

如何使JAX-WS Web服务响应特定的http代码

就像标题所说的那样.

    @WebService(
        targetNamespace = "http://com.lalaland.TestWs",
        portName = "TestWs",
        serviceName = "TestWs")
public class TestWs implements TestWsInterface {

    @EJB(name="validator")
    private ValidatorLocal validator;

    @WebMethod(operationName = "getStuff")
    public List<StuffItem> getStuff(@WebParam(name = "aaa")String aaa, 
                        @WebParam(name = "bbb")int bbb )  {

          if ( ! validator.check1(...) ) 
               return HTTP code 403        <------------ Here
          if ( ! validator.check2(...) )
               return HTTP code 404        <------------ Here
          if ( ! validator.check3(...) ) 
               return HTTP code 499        <------------ Here

          return good list of Stuff Items

    }
Run Code Online (Sandbox Code Playgroud)

无论如何我可以让方法按需返回特定的HTTP代码吗?我知道一些东西,如身份验证,内部服务器错误等,使得WS方法返回500和auth错误,但我希望能够按照业务逻辑发送这些错误.

有人这样做过吗?使用jax-WS已经有一段时间了,这是我第一次有这种需求,尝试搜索它并且无法在任何地方找到答案.

谢谢

java web-services jax-ws glassfish-3

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

sqlcipher - 更改数据库密码失败

对于这个应用程序,我有一个使用sqlcipher的数据库,该密码保护.

我有一个活动,允许我使用以下代码更改密码:

SQLiteDatabase database = SQLiteDatabase.openDatabase(getDatabasePath("db").getPath() , oldPass, null,0) ;
database.rawExecSQL("PRAGMA rekey = '"+newPass+"';");
database.close();
Run Code Online (Sandbox Code Playgroud)

执行前一段代码后,应用程序恢复正常操作,同时尝试再次访问数据库,我得到:

10-21 16:40:28.961  26635-26635/com.example            E/Database: CREATE TABLE android_metadata failed
10-21 16:40:28.981  26635-26635/com.example            E/Database: Failed to setLocale() when constructing, closing the database
        net.sqlcipher.database.SQLiteException: file is encrypted or is not a database
        at net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method)
        at net.sqlcipher.database.SQLiteDatabase.setLocale(SQLiteDatabase.java:2101)
        at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1967)
        at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:900)
        at net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:943)
        at net.sqlcipher.database.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:107)
Run Code Online (Sandbox Code Playgroud)

其次是:

Caused by: net.sqlcipher.database.SQLiteException: file is encrypted or is not a database
    at net.sqlcipher.database.SQLiteDatabase.native_setLocale(Native Method)
    at net.sqlcipher.database.SQLiteDatabase.setLocale(SQLiteDatabase.java:2101)
    at net.sqlcipher.database.SQLiteDatabase.<init>(SQLiteDatabase.java:1967)
    at net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:900)
    at …
Run Code Online (Sandbox Code Playgroud)

sqlite android sqlcipher

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