Удаленное сохранение шва

У меня есть кнопка в файле .xhtml, которая вызывает функцию javascript, которая удаленно вызывает функцию java (в среде шва jboss). Эта функция Java имеет entityManager.persist(object). Вы знаете, почему эта строка кода не фиксируется в БД? Пишет, что транзакция не началась. Я предполагаю, что в удаленном контексте у меня не началась транзакция, потому что, если я назначу действие на эту кнопку, которая вызывает ту же функцию java вместо использования javascript выше, она работает нормально; entityManager сохраняет объект, и я вижу его в БД.

Есть ли у кого-нибудь идеи, как я могу сохранить объект, используя javascript для вызова функции java? (мне нужно использовать javascript, потому что мне нужна функция обратного вызова)


person Community    schedule 20.05.2009    source источник
comment
Не могли бы вы опубликовать соответствующие части вашего кода? Только по вашему тексту сложно поставить диагноз.   -  person Daan van Yperen    schedule 21.05.2009


Ответы (1)


Чтобы обеспечить транзакцию, вы можете расширить org.jboss.seam.util.Work:

new Work()
{
    @Override
    protected Object work() throws Exception {
        // do your stuff
        return null;  
    }
}.workInTransaction()
person Daan van Yperen    schedule 20.05.2009