Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Примеры "Beginning Java EE6 with Glassfish" на ecl
Список форумов
 ->  IDE - Средства разработки приложений на Java


На страницу Пред.  1, 2 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 9:13 
Ответить с цитатой
В состав glassfish входит derby. Базы лежат в glassfish/databases, если не перекрыта переменная derby_home. Там создаётся каталог=БД chapter02DB после прогона главы 2. asadmin start-database, asadmin stop-database запускает и останавливает сервер derby
К началу Посмотреть профиль Отправить личное сообщение
Spinner : 11
Новичок

СообщениеЯнв 13, 2012 10:12 
Ответить с цитатой
StripedCat писал(а):
asadmin start-database, asadmin stop-database запускает и останавливает сервер derby


А почему бы не использовать при разработке, тем более книжного туториала возможности, которые предоставляет IDE?! Но я ни в коем случае не пропагандирую "Терминал - зло!!!" Я лишь предложил варианты использования того, что дает среда. Тем более - мы в разделе про IDE'шки.

Пока что не увидел в книге предпосылок для "тонкого" управления состоянием сервером приложений; на первых порах свободно обходятся EjbContainer'ом, без сервера.
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 13:05 
Ответить с цитатой
Выигрыша не вижу. Все нужные либы для derby даёт мавен, и нужные версии, именно в этом его сила. Сервер БД должен где-то уже работать, а где - указывается в строке соединения или в настройках пула. Лёгкий доступ к ij, который даёт этот плагин, не нужен, мы итерактивно никаких sql-операторов не вводим.
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 13:38 
Ответить с цитатой
Для подробного просмотра БД можно применять Database Development Perspective, но я применяю более богатый свободный клиент - squirrel. Подключается к любой базе, к какой есть jdbc. Конечно, в реальных проектах мы будем работать с родным клиентом: Toad для Оракл, IBExpert для firebird, Management Studio для MSSQL... Но в squirrel есть вкладка Hibernate и прочие особенности, инструмент полезный. Я подключаюсь к derby,firebird,MSSQL,MySQL,ODBC источникам.
К началу Посмотреть профиль Отправить личное сообщение
Spinner : 11
Новичок

СообщениеЯнв 13, 2012 13:48 
Ответить с цитатой
StripedCat писал(а):
Выигрыша не вижу.

Молчу-молчу. Все мы тут знаем обо всех-всех-всех возможностях клипсы. Cool

StripedCat писал(а):
Все нужные либы для derby даёт мавен, и нужные версии, именно в этом его сила.

Не согласен. "Сила" эта "работает" - когда артефакты не удаляются с репозиториев, когда репозитории не переезжают хз куда, на деревню дедушке. Но это тема для другого разговора. Laughing

Появился вот вопрос по 6ой главе. Надеюсь, что поможете понять.
Класс: org.beginningee6.book.chapter06.Main, часть метода main:

Код:

        Book book = new Book();
        // setting book props

        book = bookEJB.createBook(book); // (1)
        // code

        book.setTitle("H2G2");
        book = bookEJB.updateBook(book); // (2)
        // code

        bookEJB.deleteBook(book); // (3)
        // code       


Правильно ли я понимаю, что в отмеченных мной строках кода(1-3), на каждый вызов бина создается отдельная транзакция, так ли это? Потому что я не увидел чтоб мы в этом коде или еще где-то инициировали транзакции, но так как BookEJB по дефолту CMT - тогда получается именно так - на каждый удаленный вызов бина извне контейнера создается транзакция, если не настроено иначе.
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 14:49 
Ответить с цитатой
Цитата:

Не согласен. "Сила" эта "работает" - когда артефакты не удаляются с репозиториев, когда репозитории не переезжают хз куда, на деревню дедушке. Но это тема для другого разговора.

Бывает. Я поэтому поставил Nexus, беру артефакты оттуда. Хоть где-то из объединяемых репозиториев да останется.
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 15:29 
Ответить с цитатой
Лучше иметь дело сразу с БД на диске, потому что база в памяти исчезает после завершения программы. Раскомментируем настройки для Client Server mode.
После прогона программы действительно образовалась БД из таблицы с одной записью. Мы видим, что изменённый файл persistence.xml и все каталоги, где он содержится, помечены чёрным квадратиком с белой звёздочкой - различия с репозиторием обнаружены и помечены. Но исключения в консоли тревожат. Откуда они взялись? Как избавиться от них? Откуда берётся запрос про таблицу SEQUENCE ? В книге об этом ничего не сказано.

Вот наша созданная база с одной таблицей и одной записью

Если же мы запутались и хотим восстановить исходную версию из репозитория, то правой кнопкой мыши по файлу в Project Explorer - Team - Revert
К началу Посмотреть профиль Отправить личное сообщение
Spinner : 11
Новичок

СообщениеЯнв 13, 2012 17:30 
Ответить с цитатой
Мысль о своем "репо" с этими проектами еще в силе? - есть гитхаб или тот же kenai.

http://getsatisfaction.com/javaee6/products/javaee6_java_ee_6 - тут товарищи тоже воюют с примерами из этой книги - на вопросы отвечает сам Antonio Goncalves =)
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 13, 2012 21:58 
Ответить с цитатой
Вот так выглядит из linux. Не забудем потом найти и поставить maven plugin connectors, из-за нехватки которых будут ошибки в главе 4.

а это потенциальная пила для нервов - в линуксе регистр букв в имени файла имеет значение, а для derby (и mySQL) база - это просто каталог, для firebird база - это один файл. Будем внимательны при прописывании строк подключения!

А вот как выглядит база из squirrel в линуксе

Вот запуск примера для клиент-серверной derby и те же самые исключения.

Теперь можно добавлять записи в базу с русскими буквами, гонять мавен цели site и прочие, подбирать репозиторий, куда будем коммитить измененные. Хотелось бы svn, потому что плагин именно для него и сейчас на практике он используется в большинстве контор. Спасибо за ссылку на дискуссию по этим примерам! Вместе мы продвинемся успешно через все главы!
Посмотреть, сколько открыто транзакций, интересный вопрос! Первое, что приходит в голову, это глядеть на них со стороны сервера. Например, для firebird есть системная таблица RDB$TRANSACTIONS, для MSSQL - системные view sp_*, для оракла - тоже что-то наподобие. Для derby, может, и есть, а может, и нет, уж очень маленькая она. Надо в документации рыться по системным объектам.
К началу Посмотреть профиль Отправить личное сообщение
Spinner : 11
Новичок

СообщениеЯнв 14, 2012 22:24 
Ответить с цитатой
Пожалуйста, делай сриншоты без указателя мыши >_<
К началу Посмотреть профиль Отправить личное сообщение
StripedCat : 18
Новичок
Откуда: Самара

СообщениеЯнв 16, 2012 10:21 
Ответить с цитатой
Ура! Ещё один шаг сделан! Активные транзакции отслеживаются! Для этого поставим точку останова на методе commit(), он ещё не будет выполнен.

а потом переключимся в squirrel и дадим запрос к системной таблице derby, отвечающей за транзакции

1 транзакция - сам squirrel, 1 транзакция - запрос к таблице транзакций, осталась 1 транзакция из нашего приложения.
К началу Посмотреть профиль Отправить личное сообщение
Spinner : 11
Новичок

СообщениеЯнв 18, 2012 12:39 
Ответить с цитатой
Сейчас остановился на 7й главе.
Решил более подробно почитать про администрирование и настройку glassfish, и про настройку eclipselink.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 2 из 2
На страницу Пред.  1, 2
Список форумов
 -> IDE - Средства разработки приложений на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru