Как использовать DataSourcePool в Adobe CQ5.5?

Я создал @Component и в этом компоненте на уровне экземпляра я делаю @Reference DataSourcePool.

Но класс DataSourcePool не найден, поэтому мой класс не компилируется. Я использую CRXDE Eclipse. Все это я сделал по этой ссылке.

http://helpx.adobe.com/experience-manager/using/datasourcepool.html

Пожалуйста, посмотрите мой код и снимок.

package com.videojet.hiresite.database;

import java.sql.Connection;
import java.sql.DriverManager;
import com.day.commons.datasource.poolservice.DataSourcePool;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.Service;

@Component
@Service
public class ConnectionProvider {

    @Reference
    private DataSourcePool source;

    public Connection getConnection() throws Exception
    {
        //VideojetDatasource
        Class.forName("oracle.jdbc.driver.OracleDriver");   
        return DriverManager.getConnection("jdbc:oracle:thin:@xxxxxx","xxxx","xxx");

    }

}

введите здесь описание изображения

Итак, мне нужно добавить дополнительный Jar в OSGi Bundle, чтобы это работало?

Обновление @ Tomek Rękawek Чувак Когда я говорю, что не использую Maven, я имею в виду это. Я НЕ следовал всему учебнику. Это то, что я использую, это CRXDE Eclipse введите здесь описание изображения


person Oliver    schedule 29.05.2014    source источник


Ответы (2)


Добавьте следующую зависимость к вашему pom.xml:

<dependency>
    <groupId>com.day.commons</groupId>
    <artifactId>day.commons.datasource.poolservice</artifactId>
    <version>1.0.10</version>
    <scope>provided</scope>
</dependency>

В общем, если вам интересно, какой пакет содержит класс, откройте консоль Felix, выберите Основной / Пакеты (относительный путь: /system/console/depfinder) и введите полное имя класса (например, com.day.commons.datasource.poolservice.DataSourcePool ). Вы получите <dependency>, который сможете скопировать и вставить в свой pom.xml.

person Tomek Rękawek    schedule 29.05.2014
comment
Я не использую Maven, на самом деле я не знаю, как использовать maven. Я использую специальный Eclipse (CRXDE), который Adobe предоставил для создания пакетов/компонентов/шаблонов/. Это как CRXDElite, но более мощный. Что я должен делать? Есть ли ссылка, где я могу скачать это как пакет OSGi? - person Oliver; 29.05.2014
comment
В учебнике, на который вы ссылаетесь, описывается, как создать проект Maven CQ из архетипа, поэтому, если вы следовали ему, вы используете Maven. Найдите файл pom.xml в корне вашего проекта и добавьте указанную выше зависимость в раздел <dependencies>. - person Tomek Rękawek; 29.05.2014
comment
Пожалуйста, смотрите обновление! Моя проблема в том, что я ничего не знаю об этом супер-продвинутом инструменте под названием Maven... Я просто не знаю, как им пользоваться... Почему все вдруг начали использовать Maven. Я думаю, что Maven очень сложен со всеми этими трудными для запоминания командами. - person Oliver; 29.05.2014

Я решил это. Я загружаю Jar отсюда http://repo.adobe.com/nexus/content/groups/public/com/day/commons/day.commons.datasource.poolservice/1.0.10/

И я вставил его в папку /apps/myproject/src/testbundle/libs, и зависимость устранена.

person Oliver    schedule 29.05.2014