Im новый с DropWizard и такая ситуация:Dropwizard Как настроить источник данных?
Мы имели веб-приложение, что теперь будет разбит на 3 части:
- ядро: имеет все бизнес-аналитики,
- апи: будет проект dropwizard, который будет вызывать основные методы, классы и т. д.,
- и клиент: на самом деле это будет несколько клиентов; web, iphone, android и т. д.
Я пытаюсь создать небольшой проект сначала с помощью dropwizard и вызвать некоторые небольшие методы на ядре. Пример, если вызов: localhost: 8080/NewApi/getUserName? Id = 12345;
есть что-то на мой код так:
@GET
public String getUser(@Auth User user, @QueryParam("id") Optional<String> id) {
String userName = net.newapp.core.data.User.getUserName(id);
return userName;
}
Однако я не смог настроить базу данных должным образом. Я прочитал учебник JDBI о dropwizard, но примеры предлагают использовать DAO и JDBI SQL API, но у меня уже есть свои запросы, которые мне нужны в ядре, я не хочу отдавать эту работу Dropwizard.
Чтобы проверить, правильно ли ядро было отделено от старого проекта, я создал небольшой webapp, используя причал и настройку простого источника данных jndi, и использовал ядро как простую библиотеку и отлично работал, и поскольку Dropwizard использует Jetty I что я мог бы настроить это в проекте Dropwizard, но из некоторых сообщений, которые я читал. Похоже, я не могу этого сделать, поэтому мой вопрос заключается в том, как я настраиваю простой источник данных, который могут использовать мои кланы на ядре.
Заранее спасибо
Привет, какие рамки базы данных вы используете на своем ядре? У меня была аналогичная проблема с использованием hibernate в моем основном приложении, в конце концов я сделал, чтобы создать пакет hibernate (https://dropwizard.github.io/dropwizard/manual/hibernate.html) в API и отправить ' SessionFactory' в ядро 'hibernateBundle.getSessionFactory()'. – Carlos
Привет, Карлос, на ядре. Мы не используем никаких баз данных DB, просто простой javax.sql.DataSource. – user2171127
Возможно, это длинный снимок, но почему бы вам не попробовать: создать класс конфигурации с полем DataSourceFactory, подобным тому, что указано в ссылке. Затем в вашем методе выполнения выполните «ManagedDataSource a = configuration.getDataSourceFactory(). Build (новый MetricRegistry(),« Метрики базы данных »);' чтобы получить ManagedDataSource (который реализует javax.sql.DataSource), затем используйте Datasource в своем ядре проект. – Carlos