|
|
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Всем привет. Занимаюсь рефакторингом одного старого проекта (на самом деле проектов 5, но я решил запихать все в 1 и сделать 6-7 модулей). Есть несколько вопросов. Начнем с web-tier У меня есть модуль, занимающийся обработкой Rest запросов, а есть модуль, HTTP сервлеты. Запускаю на JBoss. Хотелось бы, чтобы оба модуля могли работать. Я нашел решение. Я удалил web.xml из модуля rest, а его текст скопировал в web.xml модуля servlet. Но, это очень похоже на какое-то кривое-работающее решение. Мне же хочется чего-то такого красивого, и универсального. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 16:58 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Забудьте слово "универсальный". Это псевдо-характеристика решения, которую используют только от незнания других. Вы описали что вы делаете. Но из этого совсем не понятно зачем вы это делаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 17:08 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
GeronemoУ меня есть модуль, занимающийся обработкой Rest запросов, а есть модуль, HTTP сервлеты. Запускаю на JBoss. Хотелось бы, чтобы оба модуля могли работать. Что мешает обоим модулям работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 17:09 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Geronemo, servlet api 3.0 позволяет обходиться без web.xml. Может, аннотации использовать и в эту сторону копать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 17:09 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
В сервлеты я попадаю при запросе, а в Rest нет. Вылетает вот такое Servlet.service() for servlet ru.bakai.paymentsystem.webservicerest.RestApp threw exception: com.sun.jersey.api.container.ContainerException: The servlet context path and/or the servlet path contain characters that are percent encoded at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:717) [jersey-servlet-1.19.jar:1.19] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 17:48 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Geronemo, The servlet context path and/or the servlet path contain characters that are percent encoded. А у вас там не только латиница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 18:01 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
yelenaGeronemo, The servlet context path and/or the servlet path contain characters that are percent encoded. А у вас там не только латиница? Заработало. В названии был символ подчеркивания. Как-то я такого подвоха не ожидал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 18:14 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Также из проблем универсальности я сделал 2 разных модуля, работающих с БД. Один из них я полностью скопировал из старого проекта, а второй создал новый - с EJB и JPA В общем модуле Business у меня ессть интерфейсы, которые реализуются классами этих модулей и, в зависимости от настроек, интерфейсы дергают классы либо одного, либо другого модуля. Вкратце выглядит вот так. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Но почему-то вылетает, что ejBarchiveBean - java.lang.NullPointerException Может нужны какие-то другие какие-то аннотации Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.07.2015, 21:33 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Geronemo, ArchiveImpl не является управляемым бином, ничто не будет обрабатывать аннотацию @EJB. Вы точно уверены, что стоит связываться с этой задачей при таком уровне знаний JEE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2015, 09:29 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
WGAGeronemo, ArchiveImpl не является управляемым бином, ничто не будет обрабатывать аннотацию @EJB. Вы точно уверены, что стоит связываться с этой задачей при таком уровне знаний JEE? А как мне сделать ArchiveImpl управляемым бином ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2015, 22:14 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Немного переиначу вопрос. Я хочу сделать такую штуку. У меня есть некоторая бизнес-логика, не связанная ни с какими бинами - просто бесконечный поток (пока я из админки не скажу стоп), который раз в несколько секунд обрабатывает данные. И у меня несколько таких потоков и несколько интерфейсов, занимающихся обработкой данных. В данном случае это ArchiveService - интерфейс, который освобождает таблицу, с которой я работаю очень активно и перекидывает данные в таблицу Архива. Есть несколько реализаций этого интерфейса, одна из них работает по jdbc, другая Hibernate, а 3-я это EJB. Я бы хотел, чтобы, в зависимости от моей конфигурации я работал с одной из реализаций интерфейса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2015, 16:02 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
GeronemoУ меня есть некоторая бизнес-логика, не связанная ни с какими бинами - просто бесконечный поток (пока я из админки не скажу стоп), который раз в несколько секунд обрабатывает данные. И у меня несколько таких потоков и несколько интерфейсов, занимающихся обработкой данных. у вас по архитектуре вопрос или по ошибке? - Если это основной поток, то как он "раз в N секунд"? Вы его тормозите? - Что значит освобождает таблицу - перекидывает записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2015, 16:49 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Petro123GeronemoУ меня есть некоторая бизнес-логика, не связанная ни с какими бинами - просто бесконечный поток (пока я из админки не скажу стоп), который раз в несколько секунд обрабатывает данные. И у меня несколько таких потоков и несколько интерфейсов, занимающихся обработкой данных. у вас по архитектуре вопрос или по ошибке? - Если это основной поток, то как он "раз в N секунд"? Вы его тормозите? - Что значит освобождает таблицу - перекидывает записи? Делаю потоку sleep В бесконечном цикле While(isserverLaunched()) {......} и у меня есть несколько модулей, которые разными способами работают с БД (какие-то таблицы освобождает, какие-то пересчитывает, это уже не суть важно). Они делают одно и то же, но , но по своей технологии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2015, 17:22 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Geronemo, Допустим. Почему бины? Если нравится, то дерзай. Мне лично нра. орм и сверху слой сервисов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2015, 18:16 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Petro123Geronemo, Допустим. Почему бины? Если нравится, то дерзай. Мне лично нра. орм и сверху слой сервисов. Возможно будет и такой способ. Я пока только учусь (c) В общем придумал я выход из положения. public class ArchiveImpl implements ArchiveService { @EJB EJBarchiveBean ejBarchiveBean; public ArchiveImpl() { try { ejBarchiveBean = (EJBarchiveBean) new InitialContext().lookup("java:module/EJBarchiveBean"); } catch (NamingException e) { e.printStackTrace(); } } .......... } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2015, 18:20 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Небольшая проблема с postgreSQL Делаю нечто подобное Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Разумеется в таблице bufferpaymenttable есть еще поле id, которое primary key и почему-то вылетает вот такого рода хрень Код: sql 1. 2. Какой там может быть null, сли оно должно автоматом туда вставлять значения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2015, 06:39 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2015, 06:53 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Есть вопрос такого типа. Хочу сделать АРМ, чтобы в нем конфигурировать сервер, нажимать Старт/стоп и иметь возможность вести мониторинг. Причем структурно АРМ будет клиентом сервера. Вопрос по GUI API. Самое простое и тупое это выбрать Swing. Но мне хочется что-то другое, чем я не владею (чтобы можно было потом похвастаться в резюме). Прицениваюсь к JavaFX, GWT, Vaadin, Tapestry. Х. з. что выбрать, с учетом того, что сервер можно настроить, как JEE, так и JavaSE. У меня есть пока что мини-версия на Swing (только ради Старт/стоп), в принципе могу доработать и этот модуль, а этот вопрос отложить на потом.. или вообще забить на него. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2015, 17:18 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Geronemo, называется это - админка, а не АРМ. Второе чаще для обычных юзверей применяют. В чём вопрос то? Ты счас описал то, как ты утром встал с постели и думаешь чем заняться)). Твоя тема вообще про другое. Извини за юмор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2015, 17:25 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Petro123Geronemo, называется это - админка, а не АРМ. Второе чаще для обычных юзверей применяют. В чём вопрос то? Ты счас описал то, как ты утром встал с постели и думаешь чем заняться)). Твоя тема вообще про другое. Извини за юмор. "АРМ администратора", вроде тоже пойдет за название ? Я сократил. Ну если Админка правильнее, х. з., все-так это слэнг технарей. Неважно. Я встал с постели и решил составить план, чем мне заниматься ближайшие несколько дней. Как я и написал в 1-м сообщении, я занимаюсь рефакторингом немного корявого приложения. У меня было 5 проектов, а сейчас 1 проект и 8 модулей. Есть несколько модулей типа common, для разных приложений, потому так удобнее. Кроме того добавлена поддержка REST и EJB. Осталось сделать норм "админку". В которой я бы выбирал, с какой БД мне работать, в которой я бы мог чекбоксами делать конфиг и при запуске этот конфиг отправлялся серверу и подключались те, или иные модули. Вопрос вот в чем - каким API лучше пользоваться для разработка "админки". Тут меня интересует актуальность, перспективность и распространенность этого API. Если есть какие-то вполне конкретные советы, то я воспользуюсь ими. Swing я уже владею, Wicket тоже. Т. ч. хотелось бы что-то другое, с чем я никогда не имел дела. Но также имеет значение такой нюанс - "админка" это не очень важная часть приложения. Возможность конфигурировать важнее. Т. ч. если есть какой-то GUI API, который было бы очень полезно знать java-программеру, я бы уделил ему какое-то время, чтобы получить базовые знания. Если все эти JavaFX, GWT, Vaadin, Tapestry никому не нужны, в юзаются только по инерции в некоторых компаниях, то я бы забил и немного наворотил текущий модуль на Swing, который был мне нужен для запуска и остановки сервера (в нем куча потоков, с while(isServerWorking) {}). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2015, 17:57 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
GeronemoТ. ч. хотелось бы что-то другое, с чем я никогда не имел дела. прочитай выше. Я уже советовал. Напиши без EJB\бинов. И побольше для юзверей, а не программистов. Иначе будут все скилы односторонние. Системный программист, это тот, который _уже_ умеет писать просто). Т.е. находить простые решения. IMHO Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2015, 18:33 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Petro123GeronemoТ. ч. хотелось бы что-то другое, с чем я никогда не имел дела. прочитай выше. Я уже советовал. Напиши без EJB\бинов. И побольше для юзверей, а не программистов. Иначе будут все скилы односторонние. Системный программист, это тот, который _уже_ умеет писать просто). Т.е. находить простые решения. IMHO Удачи! Я уже написал EJB\бины и JPA как раз для того, чтобы скиллов было поболее разных Чтобы найти норм работу. Потому что кризис. Мне год назад было устроиться легче,чем сейчас, хоть и у меня был перерыв в стаже 2 года и моя предыдущая компания не предлагала для своих сотрудников какие-то серьезные задачи. А мне нужна работа и если уж я не могу похвастаться резюме и глубиной знаний ни по одной тематике, так пусть будет хотя бы базовое понимание как можно большего понимания технологий. В процессе работы знания будут углубляться. Мне, по-большому, все равно буду ли я работать с JPA или jdbc, Vaadin или Tapestry. Я просто хочу быть хорошим специалистом. Технологий и фреймворков развелось как грязи. О чем меня спросят на следующем собеседовании ? Все время хотят что-то свое, но при этом к базовым скиллам требования довольно высокие. Поэтому я стараюсь писать как можно больше, для базы и потихоньку освоить как можно больше релевантных технологий. 2 месяца назад я упустил очень хорошую вакансию, потому что не знал, что такое REST И EJB. Там было очень просто задание, но было несколько вещей, с которыми я просто тупо никогда не сталкивался. Год назад я также упустил хорошую вакансию, потому что не знал, что такое Tomcat. Сейчас я этим владею. Пусть не как senior, но базу я понимаю. И если устроюсь на норм работу с теми или иными требованиями, передо мной не будет задачи с нуля вникать, что такое тот или иной фреймворк. Я буду уже что-то понимать и с этого уровня освоиться будет намного легче. Но этот нюанс нужен больше даже не мне, а работодателю. Ну такие требования у них сейчас. Я получил много отказов, из-за того, что все хотят человека, которы был бы спецом и им не нужен кто-то, кого надо подтягивать полгода. Год назад я был именно таким. Но сейчас я уже человек, которого можно подтянуть месяца за 3, а, закончив этот проект и еще парочку, это будет уже 2 месяца. Я понимаю, что извращение, самому себе ставить задачу, самому ее выполнять и самому проверять работоспособность. Но у меня есть знакомые, они мне дают советы + на некоторых форумах я надеюс услышать что-то дельное. Ваш совет, он не прибавит мне скилла. И он не повысит мне шансов ближайшее время найти работу. Но я надеюсь, что кому-то не пох и он смотрит не со своей колокольни, а более глобально и может что-то посоветовать, за что мог бы сказать - спасибо, вы мне очень помогли. Нету желания помогать - не надо писать в этой ветке. Можно почитать, поржать со своими коллегами и пойти дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2015, 22:47 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
GeronemoВаш совет, он не прибавит мне скилла. у меня подозрение, что ты дважды не понял моего вопроса и намёка. Если без бинов и EJB, то это спринг. Счас понятно? Зайди на ветку работа, и сравни поиском частоту упоминания. С таким подходом,... вчера ты пропустил REST, завтра спринг, а послезавтра HTTP POST \ servlet. Ты совсем не заметил, что пишешь совсем не по той теме что заявлена. Пока она звучит - "Изучаю EJB". Никто не мешает). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2015, 00:10 |
|
||
|
Универсальное 3-tier серверное приложение
|
|||
|---|---|---|---|
|
#18+
Petro123, по повоу Спринга, спс. Я обязательно сделаю какой-нибудь проект по этой теме. Просто я с ним работал немного и решил, что пока этого достаточно лучше хоть как-то освоить REST, EJB, также получить опыт разработки архитектуры больших приложений (в моем случае оно большое, т. к. когда ядро почти готово я его закончу можно будет подключать сколько угожно модулей с соответствующим интерфейсом и это будет расширением функционала). Кстати я забил на красивую админку, сделаю небольшой апгрейд Swing-приложению. Кстати, мне тут как раз идея пришла в голову. Не запихать ли мне тут еще Spring ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2015, 17:47 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39014111&tid=2125116]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
144ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 451ms |

| 0 / 0 |
