小编Atu*_*mar的帖子

用1和0初始化的信号量之间的差异

请告诉我有什么区别信号量用1和0初始化.如下:

public static Semaphore semOne = new Semaphore(1);
Run Code Online (Sandbox Code Playgroud)

public static Semaphore semZero = new Semaphore(0);
Run Code Online (Sandbox Code Playgroud)

java java.util.concurrent

11
推荐指数
3
解决办法
1万
查看次数

如何使用null实体通过Jersy REST客户端调用PUT

我想通过Jersy客户端调用一些"升级"REST API,它被声明为PUT并且不需要任何正文内容.

但是,当我请求此API时,如下所示:

webTarget.request().put(Entity.json(null));
Run Code Online (Sandbox Code Playgroud)

它给出了如下错误:

Entity must not be null for http method PUT.
Run Code Online (Sandbox Code Playgroud)

所以需要知道,在jersy客户端中是否有任何方法可以使用null Entity调用PUT方法.

rest jersey-client jersey-2.0

7
推荐指数
2
解决办法
8907
查看次数

当通过hibernate在DB中发生任何更新时,lucene索引不会同步

我正在使用下面的env 在Lucene上进行Hibernate Search的一些POC工作:

  • 休眠的搜索引擎,4.4.2.Final.jar
  • Lucene的核心 - 3.6.2.jar
  • MySQL 5.5
  • @Indexed在域类上使用注释.
  • @Field(index=Index.YES, analyze=Analyze.YES, store=Store.NO)在场上使用.
  • 使用@IndexedEmbedded不同域类的实例集合.

在应用程序启动时进行了显式索引(因为这是在Hibernate Search API中编写的,Hibernate Search将通过Hibernate Core,Hibernate Search Indexing透明地索引每个实体持久化,更新或删除),代码如下:

private static void doIndex() throws InterruptedException {
    Session session = HibernateSearchUtil.getSession();

    FullTextSession fullTextSession = Search.getFullTextSession(session);
    fullTextSession.createIndexer().startAndWait();

    fullTextSession.close();
}
Run Code Online (Sandbox Code Playgroud)

在已经播种的数据库上进行索引和搜索以及通过应用程序中的hibernate核心进行创建和删除操作时,它可以正常工作.

但不是通过Hibernate Core对现有数据进行任何更新操作,因为当通过hibernate搜索进行搜索时,我没有获得更新的数据.

不知道Hibernate Search或lucene是否有问题的原因,意味着索引没有得到更新或者由于没有通过Hibernate Search获得更新结果的其他原因.

用户类:

@Entity
@Table(name = "user")
@Indexed
public class User implements java.io.Serializable {

private static final long serialVersionUID = 5753658991436258019L;
private Integer …
Run Code Online (Sandbox Code Playgroud)

lucene hibernate hibernate-search

5
推荐指数
1
解决办法
1433
查看次数