Tag: 通知

更改域对象的通知(Hibernate / Java)

是否有可用于为Hibernate或任何其他主流O / R映射框架订阅域对象更改的解决方案? 例如,如果我在名为“Apple”的数据库中有一个表,我希望能够说“当任何Apple对象发生更改时通知我”或“任何Apple对象更改时”通知我“颜色”。 当然,我希望不仅仅是“改变了某些东西”的通知,而是一个已更改对象的id列表或已更改对象的列表。 这样的解决方案是可扩展的。 总结要求: 对数据库的所有更改都将通过ORM 它应该是一个完整的解决方案,可以使用像“订阅问题q,其中q.title喜欢’%hibernate%’”这样的表达式进行订阅,其中“Question”是一个实体(映射到数据库中的表的Java对象)我对更新感兴趣。 不需要是字符串查询,但应该有一种通用的方式来发出请求。

Wait()和Notify()概念 – Javamultithreading

class Q { volatile boolean valueSet = false; volatile int n; synchronized int get () { if ( !valueSet ) { try { wait(); } catch ( InterruptedException e ) { System.out.println( “InterruptedException caught” ); } } System.out.println( “Got: ” + n ); valueSet = false; notify(); return n; } synchronized void put ( int […]

Android – GCM推送通知未出现在通知列表中

我正在开发我的第一个Android应用,以使用Google云消息传递(GCM)服务进行推送通知。 我已经到了可以从我的服务器应用程序成功发送消息的位置,并在客户端应用程序上的GCMIntentService类中的onMessage事件中记录消息的内容。 但是,我没有在设备上看到任何收到消息的可视指示。 我期待这条消息出现在手机的下拉通知列表中,就像在iPhone上一样。 这是否必须手动编码? 还有一种显示消息的常用方法,无论当前哪个活动处于活动状态,以及应用程序是否在后台处于空闲状态? 任何帮助赞赏。

可以多次通知唤醒同一个线程吗?

想象一下,你有一个典型的Java生产者 – 消费者模式。 为了更高效,您希望在将新元素添加到队列时使用notify()而不是notifyAll() 。 如果两个生产者线程调用notify,是否可以保证唤醒两个不同的等待消费者线程? 或者可能是两个notify()在彼此之后不久触发导致同一个comsumer线程排队等待两次唤醒? 我找不到该部分是描述这是如何工作的API。 java是否有一些primefaces内部操作来准确唤醒线程一次? 如果只有一个消费者正在等待,那么第二个通知将丢失,这没有问题。

wait / notify和wait / interrupt有什么区别?

synchronized (Foo.class) { while (someCondition) { try { Foo.class.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } } 看来这个线程在其他线程调用此线程上的interrupt()或notify()时都会唤醒。 这两者有什么不同吗? – 编辑 – 我知道一个用于通知一个对象,另一个用于中断一个线程。 但是这两者都导致了相同的结果,也就是说,这个线程被唤醒了,所以我想问的是这两种情况的后果是如何相互不同的。

java:wait(),notify()和synchronized块

我了解到调用Object的wait()方法将释放对象监视器(如果存在)。 但是我有一些关于通过另一个线程调用此对象的notify()问题: 如果另一个(第3个)线程同时拥有对象监视器,那么等待线程是否会被唤醒? 如果第三个线程在这个对象上调用wait() ,那么等待线程会被唤醒吗? 是否可以确定线程是否在等待通知特定对象(java 1.4 / java 5) 如果在finalize()方法中调用wait()会发生什么?

Java:线程如何等待多个对象?

线程可以使用Object.wait()来阻塞,直到另一个线程调用该对象上的notify()或notifyAll() 。 但是如果一个线程想要等到多个对象中的一个被发出信号呢? 例如,我的线程必须等到a)字节可用于从InputStream读取或b)将项添加到ArrayList 。 线程如何等待这些事件发生? 编辑 这个问题涉及等待多个线程完成 – 我的情况涉及一个线程等待许多对象中的一个被单独化。

通用,注释驱动的事件通知框架

虽然Java之前的简单,界面驱动的事件通知框架已经存在于寒武纪之前(例如java.beans.PropertyChangeSupport),但是框架使用注释驱动的事件通知变得越来越流行。 有关示例,请参阅JBossCache 2.2 。 侦听器类对其侦听器方法进行了注释,而不是符合严格的接口。 这更容易编程,更容易阅读,因为您不必编写您不感兴趣的侦听器回调的空实现(是的,我知道侦听器适配器超类)。 以下是JBossCache文档中的示例: @CacheListener public class MyListener { @CacheStarted @CacheStopped public void cacheStartStopEvent(Event e) { switch (e.getType()) { case Event.Type.CACHE_STARTED: System.out.println(“Cache has started”); break; case Event.Type.CACHE_STOPPED: System.out.println(“Cache has stopped”); break; } } @NodeCreated @NodeRemoved @NodeVisited @NodeModified @NodeMoved public void logNodeEvent(NodeEvent ne) { log(“An event on node ” + ne.getFqn() + ” […]

Java延迟/等待

如何将while循环延迟到1秒间隔,而不会将运行的整个代码/计算机减慢到一秒钟的延迟(只有一个小循环)。

为什么没有线程等待notify()?

为什么没有线程等待notify() ? 线程启动然后进入等待池,但是在那之后它继续执行。 public class JavaApplication2 { public static void main(String [] args) { ThreadB b = new ThreadB(); synchronized(b) { b.start(); try { System.out.println(“1”); b.wait(); } catch (InterruptedException e) {} System.out.println(“Total is: ” + b.total); } } } class ThreadB extends Thread { int total; @Override public void run() { synchronized(this) { total += […]