Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的Datomic内存查询不返回结果_Java_Clojure_Datomic - Fatal编程技术网

Java中的Datomic内存查询不返回结果

Java中的Datomic内存查询不返回结果,java,clojure,datomic,Java,Clojure,Datomic,在Clojure谷歌支持小组上发布这篇文章似乎对我不起作用,所以我会尝试在这里提问 我正在运行以下稍加修改的GettingStarted.java(来自clojure发行版),作为Spring配置的测试,以查看Datomic如何集成到我的应用程序中,并且在下面的第一次Peer.q调用中没有得到任何结果(而相同的控制台调用返回150条记录)。我做错了什么,请帮忙 @ContextConfiguration(classes={GettingStartedConfig.class}, loader=A

在Clojure谷歌支持小组上发布这篇文章似乎对我不起作用,所以我会尝试在这里提问

我正在运行以下稍加修改的GettingStarted.java(来自clojure发行版),作为Spring配置的测试,以查看Datomic如何集成到我的应用程序中,并且在下面的第一次Peer.q调用中没有得到任何结果(而相同的控制台调用返回150条记录)。我做错了什么,请帮忙

@ContextConfiguration(classes={GettingStartedConfig.class}, loader=AnnotationConfigContextLoader.class)
@RunWith(SpringJUnit4ClassRunner.class)
public class GettingStartedTest {



    private final Logger log = LoggerFactory.getLogger(getClass());
    private static final Scanner scanner = new Scanner(System.in);

    private String uri = "datomic:mem://seattle";

    @Autowired
    private Reader schema;

    @Autowired
    private Reader seed0;

    private  void pause() {
        if (System.getProperty("NOPAUSE") == null) {
            log.info("\nPress enter to continue...");
            scanner.nextLine();
        }
    }


    @SuppressWarnings("rawtypes")
    @Test
    public void test() throws Exception {


        log.info("Creating and connecting to database...at {}", uri +"\n\n");


        Peer.createDatabase(uri);
        Connection conn = Peer.connect(uri);

        pause();


        log.info("Parsing schema dtm file and running transaction...\n\n");


        log.info("schema: "+schema);

        List schema_tx = (List) Util.readAll(schema).get(0);
        schema.close();
        Object txResult = conn.transact(schema_tx).get();
        log.info("result of schema transaction: "+txResult);

        pause();

        log.info("Parsing seed data dtm file and running transaction...\n\n");

        List data_tx = (List) Util.readAll(seed0).get(0);
        seed0.close();
        txResult = conn.transact(data_tx).get();

        pause();

        log.info("Finding all communities, counting results...\n\n");

        Collection results = Peer.q("[:find ?c :where [?c :community/name]]", conn.db());
        log.info("size of the result = {} " , results.size() + "\n\n");

        pause();

[主要]信息 com.excelsiorsoft.daedalus.persistence.datomic.GettingStartedTest- 查找所有社区,计算结果

[主要]信息 com.excelsiorsoft.daedalus.persistence.datomic.GettingStartedTest- 结果的大小=0


提前感谢您的帮助。

我无法为您调试代码

但我怀疑你一开始并不是在填充数据库。这可能与Spring配置有关,或者与您用来读取其中数据的任何代码有关


我建议尝试一个更简单的测试,直接插入一两个事实,并测试在尝试更复杂的事情之前是否可以阅读这些事实。

这样的论坛确实存在,我在发布之前也曾尝试在那里提问,但我的询问没有被接受。在这种情况下,我祝你好运。:)你确定自动连线系统里有东西而不是空的吗?另外,如果自动连线系统中有东西。。。它有效吗?在种子之后,如果它正确地读入,您应该得到一些值返回。