我从来没有使用分布式缓存/ DHT,如memcached,jboss缓存,ehcache等.我想知道哪些,如果有的话,适合我的使用.
首先,我不是在做Web应用程序(因为大多数这些项目似乎都面向Web应用程序).我为金融交易公司编写服务器(实际上是订单管理系统).服务器本身并不复杂.他们需要接收信息(市场数据,订单,执行等)将它们发送到目的地,同时可能转换其中一些消息.
我正在研究这些产品以解决以下问题:
安全的服务器状态存储库.我宁愿将我的应用程序的逻辑构建为一堆变换器(类似于Apache Camel)并将状态存储在"安全"的位置
应该分发这个存储库:如果这些数据中的一个存储崩溃,那么应该有一个或两个存储崩溃,我应该能够无缝切换到它们
这个存储库应该很快.这里使用单位数毫秒,换句话说,使用/处理此数据的系统是自动化系统,而不是人类点击链接.该系统需要具有高吞吐量和低延迟.通过在进程外发送我的数据,我必然会降低性能,但我试图平衡绝对原始速度和绝对数据保护.
这个存储库应该是安全的.与几个在线备份相似,该系统需要将数据写入磁盘(可能多于一个磁盘).
我真的想停止编写自己的"交易服务器".我是否正确地研究诸如jboss cache,ehcache等项目?
谢谢
我实现了一个简单的探查与JVMTI显示的调用wait()和notifyAll().作为测试用例我正在使用.Oracle的生产者消费者示例.我有以下三个事件:
该wait()调用其离开时,它通过使用事件异形MonitorEnter和MonitorExit.notifyAll()当notifyAll退出名称的方法时,将调度调用.
现在我有以下结果,第一个来自探查器本身,第二个来自Java,我已经放置了相应的System.out.println语句.
// Profiler:
Thread-1 invoked notifyAll()
Thread-0 invoked notifyAll()
Thread-0 invoked notifyAll()
Thread-0 invoked notifyAll()
Thread-0 invoked notifyAll()
Thread-0 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked notifyAll()
Thread-1 invoked wait()
Thread-1 left wait()
Thread-1 invoked notifyAll()
Thread-1 invoked …Run Code Online (Sandbox Code Playgroud) 在我的代码中,所有脚本都包含在.js文件中.每当其中一个脚本包含错误时,我就会得到:
javax.script.ScriptException:sun.org.mozilla.javascript.internal.EcmaError:ReferenceError:未定义"nonexistant".(<未知来源>#5)在第5行的<未知来源>中
我不知道的是<Unknown Source>.多个文件在一个ScriptContext中,并且很难找到错误.它看起来也很糟糕.
有没有办法用实际文件名替换<Unknown Source>?我看到的所有方法都没有支持传递File对象,所以我真的很困惑.