我一直在研究示例项目can be found here。
这个问题很难解释,但是它似乎源于源应用程序beer-billing
。
使用我检查过的命令行mongo客户端,该条目肯定存在于数据库中:
> use beerbilling;
switched to db beerbilling
> show collections;
markup
> db.markup.find();
{ "_id" : ObjectId("5bb395965c9052b3987730d3"), "bottleMarkup" : 5, "name" : "defaultMarkup", "pintMarkup" : 5 }
>
我注意到的第一个异常现象是this segment。在beer-billing/src/main/java/init/BootStrap.java
Maybe<BeerMarkup> currentBeer = Flowable.fromPublisher(getCosts().find(eq("name","defaultMarkup"))
.limit(1)).firstElement();
BeerMarkup beerCost = new BeerMarkup("defaultMarkup",5.00d,5.00d);
currentBeer.switchIfEmpty(
Single.fromPublisher(getCosts().insertOne(beerCost))
.map(success -> beerCost)
).subscribe(s-> System.out.println("RESULTS -------------------------------------------------------->>"+s));
BeerMarkup stock = currentBeer.blockingGet();
System.out.println("MARKUP--------------------------------------------------------- :::::::: "+stock.getBottleMarkup()+" "+stock.getName()+" "+stock.getPintMarkup());
似乎显示空白结果,我尝试更改输出以覆盖BeerMarkup类中的json格式,然后输出toString默认方法,该方法仍然显示null作为名称,而0显示为两个值:
0.0 null 0.0
beer-stock
应用程序中进一步复杂的问题进一步解决,该应用程序使用客户端连接到此应用程序并面临相同的输出。我将BeerMarkup
更改为Markup
,以使其在当前问题和问题出自何处等方面更具特色。
您需要下载整个项目并尝试启动所有实例,然后在前端访问URL,然后尝试stocks
链接在后端查看此信息:
MARKUP>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> class micronaut.demo.beer.model.Markup 0.0 null 0.0
不太确定错过了什么,因为beer-stock
中的mongodb运行得很好,并使用相同的方法在其BootStrap中创建条目。
我花了一段时间,看不到错过的东西