посоветуйте форум по Java

iceman

говнокодер

dr-sm

Новичок
sql.ru
rsdn.ru

инициирует запуск EJB контейнер.

PS. в spring 3 хороший таск шедулер.
 

iceman

говнокодер
а со связкой с гласфишом, как это происходит, хотя бы представление иметь, читаю, пока что не очень понятно что да как
 

dr-sm

Новичок
ну деплоится приложение,
поднимается контекст приложения,
далее шедулер собственно в данном контексте дергает таск.

какой контекст поднимает глассфиш я не вкурсе.
 

iceman

говнокодер
а относительно статейки которую я привел?

в нетбинсе получается нужно создать EJB Module (или EJB Enterprice Application)? непонятно просто методы run(), stop() кто дергает %)
 

dr-sm

Новичок
относительно твоего примера
http://docs.jboss.org/ejb3/docs/tutorial/1.0.7/html/Service_POJOs.html
Just as for "normal" MBeans in JBoss, the @Service supports lifecycle management. Lifecycle management consists of two things:
  • Lifecycle methods
  • Dependencies
Lifecycle methods :
org.jboss.tutorial.service.bean.ServiceOneManagement contains the four methods:

void create() throws Exception;
void start() throws Exception;
void stop();
void destroy();

You do not need to include all these methods, you can pick and choose. If present, the service container will call these methods as follows:
  • create : called by the server when the service is created and all the services it depends upon have been created too. At this point the service (and all the services it depends on) is installed in the JMX server, but is not yet fully functional.
  • start : called by the server when the service is started and all the services it depends upon have been started too. At this point the service (and all the services it depends on) is fully functional.
  • stop : called by the server when the service is stopped. At this point the service (and all the services that depend on it) is no longer fully operational.
  • destroy : called by the server when the service is destroyed and removed from the MBean server. At this point the service (and all the services that depend on it) are destroyed.
 

dr-sm

Новичок
решение, которое дал Krishna, это танком пaхать огород имхо.
а твой пример, как-то мне тоже не очень нравится.
я вот так делаю, идеальный вариант :D :

Код:
@Service
public class AnalyzerTask {

    private static final Logger logger = LoggerFactory.getLogger(AnalyzerTask.class);
    private TransactionTemplate tran;
    private JdbcTemplate db;

    @Autowired
    public void setTransactionManager(PlatformTransactionManager transactionManager) {
        this.tran = new TransactionTemplate(transactionManager);
    }

    @Autowired
    public void setDataSource(DataSource dataSource) {
        this.db = new JdbcTemplate(dataSource);
    }

    /**
     * Entry point
     */
    public void suckData() {
        logger.info("sucking data");
        final JdbcTemplate db = this.db;
        Long wtf = this.tran.execute(new TransactionCallback<Long>() {
            public Long doInTransaction(TransactionStatus arg0) {
                return db.queryForLong("select 45454545");
            }
        }); // this.tran.execute
        logger.info(wtf + " records analyzed");
    }
}
и в root-context.xml

Код:
    <task:scheduler id="analyzerTaskScheduler" />
    <task:scheduled-tasks scheduler="analyzerTaskScheduler">
        <task:scheduled
            ref="analyzerTask" method="suckData"
            fixed-delay="#{1000*50}" />
    </task:scheduled-tasks>
все это раз в 50 секунд соединяется с бд и что-то делает.


очень лаконично :D
 

iceman

говнокодер
dr-sm
так вот у меня проблема с анотацией @Service

покажи строку import

в нетБинсе не находит этот @Service

и какой проект нужно создать? и что в глассФише после этого нужно сделать?

вижу вкладку там Lifecycle Managment...
 

iceman

говнокодер
добавил к проекту glassfish-api.jar

import org.jvnet.hk2.annotations.Service;

???
 

iceman

говнокодер
ааа ты во Фреймворке это делаешь.... пытаюсь разобраца с Lifecycle
 

iceman

говнокодер
dr-sm
это обычный таймер, как с ним работать понятно, не понятно как сделать чтобы он запускался при старте глассфиша )

fixxxer
это ты к чему?
 

iceman

говнокодер
dr-sm
во, спс

@Singleton - прописал и задеплоил, а перед методом @Schedule(hour = "0-23", minute = "0-59", second = "0-59") ну то что мне нужно...
 

Sherman

Mephi
stackoverflow.com
из русского - ЖЖ community

А вообще нету смысла в форумах "сидеть". Много библиотек, много качественной документации, книг, исходного кода.

Насчет запуска приложений. Простой аналог крона можно написать и без всяких внешних серверов и зависимостей.

http://download.oracle.com/javase/6/docs/api/java/util/concurrent/Executor.html
http://download.oracle.com/javase/6/docs/api/java/util/concurrent/ScheduledExecutorService.html
 

iceman

говнокодер
сделал этот класс EJB компонентой, в сервлете использую ее
только я не пойму, зачем мне таскать этот класс в одном приложение?

смысл в том, что я создаю компоненту, диплою на сервер, и потом создаю приложение другое, в котором этот EJB компонент, при этом они должны быть независимым, а у меня без EJB модуля (проект netBeans) он не компилица, это можно обойти?
 

Sherman

Mephi
"не компилица" - ну а как по-твоему компилятор узнает, что у тебя где-то там есть какой-то модуль на каком-то сервере. Есть статическая зависимость - она должна быть зарезолвлена. Project dependencies надо рулить через Maven или Ivy.

p.s. Я вообще не фанат EJB и толстого enterprise на java. Мне более по душе легковесные вещи типа Spring, Hibernate, Jetty и так далее.
 

iceman

говнокодер
Sherman
чото не могу нигде найти ответа на свой вопрос, а вообще это возможно, когда на аппликешен сервере развернуто веб-приложение и отдельно EJB модуль? при том что веб-приложение будет использовать этот EJB модуль. в нетбинсе у меня при развертывание, этот модуль оказывается внутри веб-приложения...
 
Сверху