Действительно ли возможно сделать управление байт-кодом при использовании OSGi?

Альтернативным подходом может быть получение клиента только из архивной таблицы, где у нас нет текущей. Что-то вроде:

WITH CurrentLastOrders(customer, last_order_date) AS    -- Get current last orders
(
    SELECT o.customer, max(o.dt_created) AS last_order_date
    FROM orders s WITH (NOLOCK) ON c.customer = o.customer
    GROUP BY o.customer
),
ArchiveLastOrders(customer, last_order_date) AS -- Get archived last orders where customer does not have a current order
(
    SELECT o.customer, max(o.dt_created) AS last_order_date
    FROM archive_orders o WITH (NOLOCK)
    WHERE NOT EXISTS ( SELECT *
                        FROM CurrentLastOrders lo
                        WHERE o.customer = lo.customer)
    GROUP BY o.customer
),
AllLastOrders(customer, last_order_date) AS -- All customers with orders
(
    SELECT customer, last_order_date
    FROM CurrentLastOrders
    UNION ALL
    SELECT customer, last_order_date
    FROM ArchiveLastOrders
)
AllLastOrdersPlusCustomersWithNoOrders(customer, last_order_date) AS    -- All customerswith latest order if they have one
(
    SELECT customer, last_order_date
    FROM AllLastOrders
    UNION ALL
    SELECT customer, null
    FROM customers c WITH (NOLOCK)
    WHERE NOT EXISTS ( SELECT *
                        FROM AllLastOrders lo
                        WHERE c.customer = lo.customer)
)
9
задан Esko Luontola 18 February 2009 в 23:18
поделиться

1 ответ

1) Да, возможно сделать управление байт-кодом в OSGi. Как несколько отличается, чем со стандартным Java, необходимо ли использовать шаблон расширителя, описывают здесь http://www.osgi.org/blog/2007/02/osgi-extender-model.html. Я полагаю, что Eclipse использует это в их проекте аспекта равноденствия: http://www.eclipse.org/equinox/incubator/aspects/. Spring DM определенно использует этот шаблон для автоматического конфигурирования osgi dm модуль.

2) это было бы до шаблона расширителя, который Вы используете. tha's, как пружинный расширитель работает, ища конфигурационные файлы в папке META-INF/spring пакета, прежде чем они будут запущены платформой.

3) Снова, это было бы до расширителя, который Вы определяете.

4) Я полагаю, что это было бы возможно прежде, чем пакет может быть запущен, он имеет к разрешенному и запущенным зависимостям, Ваш расширитель мог затем проанализировать зависимости от пакета и запустить управление кодом байта.

3
ответ дан 4 December 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: