SSH如何去发布订阅监听

SSH如何去发布订阅监听,第1张

SSH去发布订阅监听方法如下:

1、直接使用Redis控制台发布/订阅信息

在redis中:

使用publish channel message即可向指定的channel发布信息,注意只能向一个channel发送消息

使用subscribe channel [channel2...]即可监听指定的channel,注意可以同时监听多个channel2、使用Jedis在Java程序汇总发布/订阅消息

2.1、发布消息

使用Jedis发布消息相对订阅来说比较简单,直接调用Jedis对象的publish方法即可:

public class JedisUtil{undefined

private static JedisPool jedisPool = new

JedisPool(jedisPoolConfig,"localhost")

/**

* 作为生产者publish信息到制定的redis的channel

* @param channel

* @param msg

*/

public static void sendMsg(String channel,String msg){undefined

Jedis jedis = jedisPool.getResource()

jedis.publish(channel,msg)

if (jedis!=null)jedis.close()}}

楼上说法欠妥,你的service是一个包,spring提供的采用aop的方式来使用声明式事务,其中pointcut中的expression是定义接入点的表达式,LZ的表达式的含义大概是service包下的所有的类的所有的方法....调用类的时候不会开启什么事务,当service包的某一个类中的某一个业务方法被调用时,事务就开启了.

1.你问的是不是save方法完了之后事务就关闭了,这里其实还有一个事务的传播特性在里面,而spring默认是采用的required,当你在没有事务的情况下调用save那将创建一个事务,当你在有事务的情况调用save则save是参加到当前事务中执行的.

2.你问是不是service中调用不同的DAO,事务会不会被多次开启,不会,结合以上讲,一个是切入点的问题,你的切入口在service而不是dao,所以....第二个,事务是采用的required方式,所以不论从哪个方面来想都可以想通这个问题.

3.session的问题,一般应用中都是"open session in view"的,也就是说在请求的时候打开session,在请求结束的时候关闭session,spring有对session进行管理的工具,如OpenSessinInViewInterceptor之类的东西可以帮组你....

厄....语言表达不好,希望能帮到LZ一些....


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11448280.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存