spring-data-mongodb java driver 3.x api adoption - spring-data-mongodb

I'm wondering if there are any plans to adopt the "non-legacy" mongo java driver 3.x api (i.e. the classes in com.mongodb.client, MongoDatabase, MongoCollection, etc.) in spring-data-mongodb at some point. MongoOperation.execute(DbCallback) forces you into the legacy mongo java driver api, and it's unfortunate to not be able to follow the latest mongodb java driver documentation at http://mongodb.github.io/mongo-java-driver/3.0/driver/reference/. Per https://docs.mongodb.org/ecosystem/drivers/driver-compatibility-reference/#java-driver-compatibility, the 3.2 java driver is compatible with all recent versions of mongodb. Is there a reason spring-data-mongodb is still using the 2.x driver and/or the legacy api classes (com.mongodb.DB, com.mongodb.DBCollection, etc)?

Related

Configure solrnet with Solr

Is it necessary to use tomcat for configuring Solr with asp.net.
by this link [link]https://www.codeproject.com/Tips/480091/Using-Solr-for-Search-with-NET-Csharp
i configured and it works!! but it uses solr 1.4 version and i want to update my solr version.
And [link]https://cwiki.apache.org/confluence/display/solr/Running+Solr+on+Tomcat
it says that you cannot configure the tomcat with version 5 or latest from it.
so how to configure asp.net with solr latest version ?
Latest Solr runs as standalone black box. Do not look at ancient tutorials for Tomcat information, they are not useful anymore. And it is a separate issue from connecting to it via .NET client.
For the client part, the source-code version of SolrNet is more up to date. And it should work with latest Solr, with the main issue being that the URL for Solr now must include collection name, so http://localhost:8983/solr/collectionname . Check for parameters to set core or collection or similar.
There is also Solr Express you may want to have a look at.

Spring Data Mongodb MANIFEST.MF file suggests that Mongo 3.x is not supported?

According to Release Train Fowler, there is MongoDB 3.x compatibility from version 1.7.0.RELEASE onwards. However, when I examine the MANIFEST.MF file for, say 1.9.2.RELEASE, I see the following:
com.mongodb;version="[2.13.0,3.0.0)"
which suggests that the maximum Mongo version is less than 3.0.0.
I'm misinterpreting the MANIFEST.MF file?
Thanks, Steve.
The MANIFEST.MF is generated using templates. Spring Data MongoDB allows usage of both the 2.x and 3.x line of drivers. I've created DATAMONGO-1452 to get that fixed.
BTW, I noticed that the 1.3.x bundles do not restrict the version of the mongo driver. Which versions of mongo does 1.3.x support?

Versioning between App API and Database

I have the following scenario ...
Two versions of the application that accesses an API, running version 1.0 and 1.1. The idea is to go back to version 1.0 if the 1.1 version presents problems.The API should be versioned for each of these versions too
I would like to know the solutions that are being used nowadays to make this process easily and in a safe way.
Also, supposing we are using entity framework, how to solve the migration problem, if version 1.1 of the API has database changes?
I use ASP.NET Web API and SQL Database, both in Azure.

serviceMix 4.4 does not support ODE any longer, what is the alternative way to do orchestration?

I am new to serviceMix, I downloaded serviceMix 4.5.1 a couple of days ago.
When I tried to install ode in serviceMix using the command
features:install ode
It tells me this:
Error executing command: No feature named 'ode' with version '0.0.0' available
I googled/baidued mass of webs, I got a bad news that:
"Fuse ESB 4.4 does not support Apache ODE. The latest version of ODE is not compatible with Fuse ESB."
which comes from
http://fusesource.com/forums/thread.jspa?messageID=11209
Fuse ESB - ODE installation
So if serviceMix 4.4 does not support ODE any longer, what is the alternative way to do the web service orchestration in serviceMix? I have tried use camel to do this work,but that's not easy.
How about "bpel-g"?(http://code.google.com/p/bpel-g/) is it a good choice? or any other choice?
Any help will be really appreciated.
I like Activiti for processes and orchestration.
Never run it inside Karaf/SMX/Fuse ESB but it should be possible, if not using this instruction.
It also has a nice web explorer for human tasks etc. if you need it and BPMN modeller for rapid desing and visualization
I would recommend to try bpel-g. A colleague and me have been doing some BPEL conformance benchmarking lately (fyi: the benchmarking tool is available at github) and bpel-g turned out have the highest degree of support for the BPEL spec., along with the older ActiveBPEL engine from which bpel-g is a fork. ODE ranked third place.
Another nice feature of bpel-g is that it is indeed actively maintained. I don't know how well it integrates into the infrastructure of Fuse ESB, but since it's deployable as a war, this shouldn't be much of a problem.
UPDATE: Just had a look up: bpel-g seems to integrate with camel and provides a custom handler to invoke camel components. So, basically, the solution outlined in Petters answer also applies to bpel-g and, in contrast to Activiti, it has a message correlation framework. Finally, the barrier to using it should be smaller, as you already know BPEL. As a consequence, bpel-g might be a more suitable solution here.

Any node.js relational database bindings for Windows?

I'm trying to build a RESTful internal web server at work using node.js, where I'm currently restricted to using a Windows 2003 Server.
I've hit a stumbling block with regards to database support however. Are there any bindings currently available for reading and writing to sqlite, PostgreSQL or MySQL on Windows based machines?
Mariano has mentioned Windows support in the future in these comments, but ideally I'd like to use something available just now as a proof of concept.
I'm author of mysql-native.
Both official (felixge node-mysql) and my driver has been successfully used under windows,
I'm using and developing it under linux/windows 50/50% time . Feel free to contact me if you have any questions
Have you tried mysql-native? It's native (mysql) which means there are no other dependencies, so should run on any platform node supports. Seems to be actively maintained also, and has some examples to show you how to use the library. Link: https://github.com/sidorares/nodejs-mysql-native

Resources