我正在使用EJB 3.1,我想配置一个MDB来监听多个队列.
我更喜欢通过XML定义队列名称,而通过注释定义其他定义.
可以这样做吗?
我正在研究RabbitMQ分布式POC,我坚持集群节点的基础知识.
我正在尝试按照兔子的群集教程进行操作,这是我的参考.
在安装了erlang(R14B04)和rabbit(2.8.2-1)后,我将.erlang.cookie
文件内容从一个节点复制到另外两个节点.
我不知道如何让erlang注意到这个改变我必须重新启动机器本身(相当蛮力,但我根本不知道erlang).
另外,我在iptables 4369和另外5个端口进行通信,并放置在
/usr/lib64/erlang/bin/sys.config
以下配置下:
{kernel,[{inet_dist_listen_min, XX00},{inet_dist_listen_max,XX05}]}]
Run Code Online (Sandbox Code Playgroud)
然后另一次重启(我知道愚蠢)以验证erlang考虑到这些,但仍然在我运行时:
rabbitmqctl cluster rabbit@HostName1
Run Code Online (Sandbox Code Playgroud)
我明白了:
Clustering node rabbit@HostName2 with [rabbit@HostName1] ...
Error: {no_running_cluster_nodes,[rabbit@HostName1],
[rabbit@HostName1]}
Run Code Online (Sandbox Code Playgroud)
我有可能摆弄erlang.cookie或端口没有成功,但我不知道如何检查它们.我尝试输入erl
cmd然后erl_epmd:names()
或其他命令来获取更多信息,但我可能在erlang土地上离开了.
真的很感激任何帮助
更新:
我尝试手动ping两个erlang节点并pang
返回.
我做了以下操作:
连接到两个节点,停止rabbitmq(不确定是否需要,但确定),启动erlang就像这样(erl -sname dilbert
和erl -sname dilbert2
)当erlang命令行启动时我node().
在每个节点上运行dilbert@HostName1
并dilbert2@HostName2
分别获得.然后我尝试使用单引号运行net_adm:ping('dilbert').
并且net_adm:ping('dilbert@HostName1').
没有它们来自两个节点(当然更改了名称)并且完成了所有8个案例pang
.
当我nodes().
在其中一台机器上运行时,我得到了一个空数组.
我还尝试允许防火墙中的所有流量(脚本),然后尝试运行上面的命令(不要担心它们现在又回来了)并且仍然回来了pang
.
Update2:
由于某些原因,我需要解决cookie不匹配问题(感谢@ kjw0188的建议[我erlang:get_cookie().
在erlang命令行中运行]).
这没有帮助,我需要完全停止iptables(不知道为什么,但我很快就会-name dilbert@my-ip
想到)并加载erlang节点,因为我的rackspace服务器没有dns-name.这最终使我得到了一个乒乓球并看到节点相互看到(nodes().
在ping之后返回一个非空数组).
我现在面临的问题是如何在启动erlang时指示RabbitMQ使用-name而不是-sname.
我有一个使用hibernate的web应用程序,由于某种原因,每个线程(httprequest或与排队相关的其他线程)使用不同的会话.我已经实现了一个HibernateSessionFactory
看起来像这样的类:
public class HibernateSessionFactory {
private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
private static Configuration configuration = new AnnotationConfiguration();
private static org.hibernate.SessionFactory sessionFactory;
static {
try {
configuration.configure(configFile);
sessionFactory = configuration.buildSessionFactory();
} catch (Exception e) {}
}
private HibernateSessionFactory() {}
public static Session getSession() throws HibernateException {
Session session = (Session) threadLocal.get();
if (session == null || !session.isOpen()) {
if (sessionFactory == null) {
rebuildSessionFactory();//This method basically does what the static init block does
}
session = …
Run Code Online (Sandbox Code Playgroud) 标题基本概括了所有内容。我正在尝试使用jQuery的能力(希望GWTQuery实现了它)将回调函数传递给window.resize这样的东西(来自jquery网站的示例):
但是当我尝试输入Eclipse时,我得到了一个错误,该错误不能得到解决。如果有人对更大的画面感兴趣,那么我基本上是想从完成调整大小操作的窗口中获取信息,从而可以进行进一步的调整。
$(window).resize(function(){
alert("Stop it!");
}); $(window)
window
感谢您提供的任何帮助Ittai PS,因为我正在开发恰好使用浏览器的内部应用程序,所以请不要进行有关浏览器开发和调整大小的讲座。
我有一个spring beans配置文件,我将以下jackson类定义为spring bean.
出于某种原因,在运行时,filterProvider
bean在没有map参数的情况下被实例化.
您可以从文档中看到它SimpleFilterProvider
确实具有这样的构造函数并SimpleBeanPropertyFilter
实现BeanPropertyFilter
.
<bean id="productAttributesAndAdvertiserNameFilter" class="org.codehaus.jackson.map.ser.impl.SimpleBeanPropertyFilter" factory-method="filterOutAllExcept">
<constructor-arg value="name"/>
</bean>
<bean id="offerIdFilter" class="org.codehaus.jackson.map.ser.impl.SimpleBeanPropertyFilter" factory-method="filterOutAllExcept">
<constructor-arg value="id"/>
</bean>
<bean id="filterProvider" class="org.codehaus.jackson.map.ser.impl.SimpleFilterProvider">
<constructor-arg>
<util:map value-type="org.codehaus.jackson.map.ser.BeanPropertyFilter">
<entry key="onlyNameFilter" value-ref="productAttributesAndAdvertiserNameFilter" />
<entry key="onlyIdFilter" value-ref="offerIdFilter" />
</util:map>
</constructor-arg>
</bean>
Run Code Online (Sandbox Code Playgroud)
更新:
截至杰克逊1.9.5这个问题已修复(感谢Tatu)
任何帮助,将不胜感激.
我目前有一个GWT应用程序,它使用它将RequestBuilde
消息发送到我拥有的servlet(使用POST
和GET
),并且我的servlet(in doPost
和doGet
)"暂停"请求(这是通过使用Servlets 3.0规范完成的)并将其添加到队列中.
另外,我有一个守护程序线程,它在后台运行,并在有新数据时"播放"请求.
这对我来说很有用,除了我现在只是发送字符串这个事实,我想利用RPC机制发送对象.
我的问题是这样的:
如果我创建我的myServiceImpl
课程,
我RemoteServiceServlet
应该如何处理doPost
,doGet
如果有的话?
我需要暂停我的请求以利用异步支持,应该在哪里完成?我虽然可能this.getThreadLocalRequest()
在myServiceImpl
课堂上调用我的RPC方法中的方法,但我不确定它会有多么明智.
我不确定我是否理解GWT如何处理来自该异步接口的客户端的调用.有没有机会调用doGet
servlet的例子,并确保它调用所需的RPC方法?
对不起,如果我搞得一团糟,那就是我无法找到更详细的技术信息,正如RPC业务的工作方式.
欣赏任何借贷手
Ittai
我目前有一个web应用程序,我有Servlets读取和写入ServletContext
属性,我有"工作"线程(守护程序线程),它在启动时初始化,并且当前作为ServletContext
对象成员保存.出于几个原因,我正在考虑Runnable
转而使用"实现"而且我有点困惑的事实是我需要一个servlet和非servlet可以用来互相交流的公共资源,我觉得我有点陷入整个ServletContext
范式.我很感激,如果有人可以提供关于为什么使用ServletContext
(我的方式或其他方式)的点,而且我正在考虑使用一个单例类,它将在启动时初始化并且将是线程安全的,我将只是通过它路由servlet和非servlet的所有通信.你怎么看?
谢谢
我开始使用cloudify
中的精神和DevOps
在那里infrastructure is code
我想有存储在一个安全的和集中的地方密码.
在我看来,我应该将凭据放在.properties
相关服务的文件中,但版本化普通密码似乎是一个坏主意,而不是版本化它似乎也是一个坏主意(代码是无版本的).
我知道chef
有encrypted data bags
,我想知道是否cloudify
有类似的东西?如果没有,我应该注意哪种不同的最佳做法?
谢谢
我正特步进入Servlets和3.0的世界,我看到了一些示例和教程中使用的方法和注释,这些方法和注释在JAVA 6.0发布时已经讨论过(现在有),现在当我尝试使用上面的内容时注释,例如在Eclipse中它不识别它,虽然我安装了java 1.6.013,在Eclipse中它说我正在使用jre6.当我尝试使用谷歌搜索时,我偶然发现了这个页面上有关WebServlet Annotation的内容,它在右上角:DRAFT.那是什么意思?是否在1.6.013中支持@WebServlet?是我的Eclipse的问题?
非常感谢能帮助我的任何人
编辑:我现在明白我已经搞得一团糟了但是我已经下载了一个Jar的Servlets 3.0 API,至少对于@WebServlet注释有效,但是给了我一个地狱.
java ×8
servlets ×3
gwt ×2
annotations ×1
asynchronous ×1
cloud ×1
cloudify ×1
connectivity ×1
credentials ×1
distributed ×1
eclipse ×1
erlang ×1
gwt-rpc ×1
gwtquery ×1
hibernate ×1
jackson ×1
java-ee-6 ×1
javascript ×1
jms ×1
rabbitmq ×1
resize ×1
security ×1
session ×1
singleton ×1
spring ×1
thread-local ×1