Tag: java

Java不支持类的版本上heroku的NodeJs应用程序?

我有一个node.js应用程序需要一个java文件在本地目录中运行。 我正在使用subprocess运行java文件,并在本地主机上正常工作。 但是,当我尝试将应用程序部署到heroku时,出现以下错误日志: 任何想法可能是错的?

RabbitMQ通过websocket Stomp:无法检索排队的消息

我正在使用RabbitMQ Stomp的耐用订阅(文档在这里 )。 根据文档,当客户重新连接(订阅)相同的ID,他应该得到所有排队的消息。 但是,即使消息在服务器端排队,我也无法取回任何东西。 以下是我正在使用的代码: RabbitMQ版本:3.6.0 客户代码: var sock; var stomp; var messageCount = 0; var stompConnect = function() { sock = new SockJS(options.url); stomp = Stomp.over(sock); stomp.connect({}, function(frame) { debug('Connected: ', frame); console.log(frame); var id = stomp.subscribe('<url>' + options.source + "." + options.type + "." + options.id, function(d) { console.log(messageCount); messageCount = messageCount […]

肥皂标准化变换

我正在尝试使用Datapower设备上托pipe的soap服务。 到目前为止,发送soap服务和接收方为下面的xml计算摘要是不同的。 应用于创build摘要值的转换 <ds:Reference URI="#TS-f3c103e9-1897-43d8-8cf6-274bdb647678"> <ds:Transforms> <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"> <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="wsse soap"/> </ds:Transform> </ds:Transforms> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:DigestValue>1rjXQQWVMM5KBWY8uswUynk6PCk=</ds:DigestValue> </ds:Reference> 引用的元素。 <wsu:Timestamp wsu:Id="TS-f3c103e9-1897-43d8-8cf6-274bdb647678"> <wsu:Created>2016-02-24T15:32:12.693Z</wsu:Created> <wsu:Expires>2016-02-24T15:37:12.693Z</wsu:Expires> </wsu:Timestamp> 上述元素的名称空间应用于根节点上 的xmlns:WSU = “http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd” 的xmlns:DS = “http://www.w3.org/2000/09/xmldsig#” 发送上述XML可以正常工作(从Java SOAP客户端库创build)。 但是,当我用节点sha1消化同样的元素时,我得到了不同的摘要值。 我正在尝试在计算摘要值之前发现java在转换中的作用。 如果我能找出它实际发送到sha1方法的内容,我可以修改节点中的代码来做同样的事情。 给定上面的引用元素,sha1之前的变换之前的输出xml是什么?

如何在执行事件时创builddynamic的androidpath对象?

我正在尝试使用基于Socket.io的Node.js服务器搭载Android构build一个实时协作绘图板应用程序。 我已经使用了Android端的Socket.io Java客户端。 我能够绘制出一条path,并将协调发送到服务器,并从服务器接近实时地获取广播。 整个概念几乎完成,但是我陷入了一个大问题。 我在Android是一个完整的新手,这实际上是我的第一个Android应用程序,我完全是为了学习目的而创build的。 所以,问题是,在每个与服务器的新连接上,我需要一个新的Path对象。 现在我的单path对象发生了什么,当有响应来自服务器,我试图绘制path,它使用相同的path对象,因此,join我画线,与线坐标我从服务器收到的。 此问题导致需要为每个到服务器的新连接创build一个新的Path对象。 请注意,通过一个新的连接,我的意思是,通过打开应用程序连接到服务器的新设备。 这个新人,你可以参与协作绘图的经验,至less,这就是我想要build立的。 我认为会工作的是,在每一个新的连接,我会创build一个新的path对象,并把它放在一个ArrayList,然后根据需要引用相应的path对象。 但是,然后我发现了一个新的问题,即在onDraw()覆盖的方法内实际创build视图时,path被初始化。 所以,我的最后一个问题是: 在Android中,如何在执行事件时创builddynamicpath对象? 这是自定义View package com.example.thisisppn.drawtogether; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; import android.util.AttributeSet; import android.util.Log; import android.view.MotionEvent; import android.view.View; import com.github.nkzawa.emitter.Emitter; import com.github.nkzawa.socketio.client.Socket; import com.github.nkzawa.socketio.client.IO; import org.json.JSONException; import org.json.JSONObject; import java.net.URISyntaxException; public class MainDrawingView extends View […]

用于安装npm模块的Java插件

您好我正在开发一个SDK的SDK中,用户将提供节点模块的名称。 有没有办法用java的所有依赖下载这些npm包,而不强迫最终用户安装npm?

node-java错误:libjvm.so:无法打开共享对象文件:没有这样的文件或目录

我在下面的节点插件中得到一个错误,并打开一个问题:插件是在这里: https : //github.com/joeferner/node-java问题在这里: https : //github.com/joeferner/node-java /问题/ 306 对于使用rStudio的开发人员,我看到了类似的问题,解决了这个问题: libjvm.so:无法打开共享目标文件:没有这样的文件或目录 当我启动我的节点应用程序到heroku时,我有一个类似的错误: return process.dlopen(module, path._makeLong(filename)); ^ Error: libjvm.so: cannot open shared object file: No such file or directory at Error (native) at Object.Module._extensions..node (module.js:440:18) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Module.require (module.js:367:17) at require (internal/module.js:16:19) at Object.<anonymous> (/app/node_modules/java/lib/nodeJavaBridge.js:31:16) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) […]

Java BouncyCastle中的确定性AES-CTR?

我一直在Node中使用aes-js来使用AES计数器模式进行encryption/解密。 正如你可以在例子中看到的,我使用它没有填充,我可以指定哪个块(在这种情况下,0)我想开始。 var aesCTR = new aesjs.ModeOfOperation.ctr(keyBytes, new aesjs.Counter(0)); var encryptedBytes = aesCTR.encrypt(plaintextBytes); 我想在Java中重现上面的相同行为。 我正在使用BouncyCastle ,如下面的例子。 SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding", "BC"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encrypted=cipher.doFinal(msgBytes); 但是这个实现似乎没有输出与上面相同的值。 另外,似乎每次运行都会自动增加计数器(在这种情况下不合需要的行为)。 有没有一种方法来匹配使用Java的Node JS实现?

javax.json产生难以理解的json

我有一个Java类与两个atrributes,我转换为json使用这种方法。 我跟着这个其他答案: 返回JSONArray而不是JSONObject,Jersey JAX-RS public String toString(){ // takes advantage of toString() implementation to format {"a":"b"} JsonObject json = Json.createObjectBuilder() .add("sentence", sentence) .add( "category", category).build(); return json.toString(); } 我得到的string封装到一个string的ArrayList,并通过HTTP(我使用泽西岛)发送: return Response.status(200).entity(response).build(); 如何,节点客户端正在使用不能正确parsing它:它获取数组部分,完美地访问元素。 但不是JSON键和值; 返回undefined: jsonRespuesta = JSON.parse(body)[0]; console.log(jsonRespuesta); console.log("Frase: " +jsonRespuesta.sentence + " ,Categoria: " + jsonRespuesta.category); 返回: {"sentence":"hola","category":"2"} Frase: undefined ,Categoria: undefined 什么是失败? 如果有帮助,使用wireshark捕获数据包会将数组成员显示为string

使用Java从$ PATH获取可执行文件的绝对path

我在我的命令行Java应用程序中调用nodeJS可执行文件。 由于可执行文件位于$PATHvariables中的某个位置,因此可以简单地将其称为node 。 但是,我必须提供一个参数(要运行的.js文件),如果我提供了一个相对于node可执行文件的path,nodeJS会抛出一个错误,它找不到.js文件。 所以,我正在寻找的是获得正在运行的node可执行文件的绝对path,然后编译.js文件的绝对path,我必须将其作为参数添加到node命令。 是否有一种方法可以在Java平台不可知的情况下做到这一点? 我意识到我可以运行where node ,得到输出,并从那里,但我不想硬编码特定于操作系统的命令。 这是我的代码到目前为止: CommandLine cmdLine = new CommandLine("node"); cmdLine.addArgument("D:/SDKs/Appium/node_modules/appium/lib/server/main.js"); cmdLine.addArgument("–address"); cmdLine.addArgument("0.0.0.0"); cmdLine.addArgument("–port"); cmdLine.addArgument("4444"); cmdLine.addArgument("–app"); File app = new File("some.apk"); cmdLine.addArgument(app.getAbsolutePath()); cmdLine.addArgument("–app-pkg"); cmdLine.addArgument("some.stuff.does.not.matter"); cmdLine.addArgument("–pre-launch"); cmdLine.addArgument("–automation-name"); cmdLine.addArgument("Appium"); System.out.println(cmdLine.toString()); DefaultExecutor executor = new DefaultExecutor(); ExecuteWatchdog watchdog = new ExecuteWatchdog(60000); executor.setWatchdog(watchdog); try { int exitValue = executor.execute(cmdLine); } catch (IOException e) { […]

试图了解node.jscallback函数通常不期望任何参数?

我正在尝试与node.js和node-java一起工作,试图让我的头部缠绕一些概念,特别是如何编写asynchronous方法调用。 我认为,对于Java中的函数myclass.x(): [在Java中]: Z = myclass.x(abc); 和: [在node.js / node-java]中: myclass.x(abc, function(err,data) { //TODO Z = data;}); 换句话说,使用参数abc评估myclass.x函数,如果没有错误,则结果进入“数据”,然后分配给Z. 那是对的吗? 这是我感到困惑的事情(或其中一件事情)。 如果函数myclass.x()不带任何参数会发生什么? 换句话说,它通常(在Java中)就是这样调用的: Z = myclass.x(); 如果是这样的话,node.js代码应该如何查看? myclass.x(, function(err,data) { //TODO Z = data;}); 似乎并不正确,但是: myclass.x( function(err,data) { //TODO Z = data;}); 也似乎不正确。 那么在这种情况下,编写node.js代码的正确方法是什么? 提前致谢!! 吉姆 编辑1:每个评论,我添加我正在使用的具体代码是最后几个从这个其他问题的注释行: node.js和node-java:这个java代码是什么等价的node.js代码? 这些是线条(在另一个问题中注释掉): var MyFactoryImplClass = java.import("oracle.security.jps.openaz.pep.PepRequestFactoryImpl.PepRequestFactoryImpl"); var result = […]