У меня есть 3 пакета EAR, которые в совокупности составляют одно огромное приложение для веб-приложений. Возможно ли настроить компоненты в пакеты для совместного использования данных идентификатора сеанса между ними. Моя идея заключается в разработке формы входа, которая регистрирует пользователей в таблицах базы данных с использованием идентификатора сеанса. Каждый раз, когда пользователи просматривают приложение, их идентификатор сеанса используется для идентификации пользователей. Сложная часть возникает, когда пользователи переключаются между различными пакетами EAR и фасолью. Идентификатор сеанса изменится, а другие компоненты не будут знать, что такое новый идентификатор сеанса. Есть ли способ настроить компоненты в EAR-пакеты для совместного использования данных, содержащих идентификатор сеанса.Как пакеты EAR и фасоль могут делиться идентификатором сеанса?
Я создал два идентичных пакета EAR, и я разместил файл context.xml в каждом из них. Это структура файла:
SR_57
├── pom.xml
├── SR_57-ear
│ ├── pom.xml
│ ├── src
│ │ └── main
│ │ └── application
│ │ └── META-INF
│ │ └── MANIFEST.MF
│ └── target
│ ├── application.xml
│ ├── maven-archiver
│ │ └── pom.properties
│ ├── SR_57-ear-1.0-SNAPSHOT
│ │ ├── META-INF
│ │ │ ├── application.xml
│ │ │ └── MANIFEST.MF
│ │ ├── SR_57-ejb-1.0-SNAPSHOT.jar
│ │ └── SR_57-web-1.0-SNAPSHOT.war
│ └── SR_57-ear-1.0-SNAPSHOT.ear
├── SR_57-ejb
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── SR_57
│ │ │ └── resources
│ │ │ └── META-INF
│ │ │ └── MANIFEST.MF
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── SR_57
│ └── target
│ ├── classes
│ │ └── META-INF
│ │ └── MANIFEST.MF
│ ├── endorsed
│ │ └── javaee-endorsed-api-6.0.jar
│ ├── maven-archiver
│ │ └── pom.properties
│ ├── SR_57-ejb-1.0-SNAPSHOT.jar
│ └── surefire
└── SR_57-web
├── faces-config.NavData
├── nb-configuration.xml
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── SR_57
│ │ │ └── userCheck.java
│ │ ├── resources
│ │ └── webapp
│ │ ├── home.xhtml
│ │ ├── index.html
│ │ ├── resources
│ │ │ ├── css
│ │ │ │ ├── sr_style.css
│ │ │ │ └── style.css
│ │ │ ├── images
│ │ │ │ ├── 1.jpg
│ │ │ │ ├── 2.jpg
│ │ │ │ ├── 3.jpg
│ │ │ │ ├── 4.jpg
│ │ │ │ ├── 5.jpg
│ │ │ │ ├── 6.jpg
│ │ │ │ ├── 7.jpg
│ │ │ │ ├── bg_1.jpg
│ │ │ │ ├── bg.jpg
│ │ │ │ ├── overlay_1.png
│ │ │ │ ├── overlay.png
│ │ │ │ ├── title_1.png
│ │ │ │ └── title.png
│ │ │ └── js
│ │ │ ├── ChunkFive_400.font.js
│ │ │ ├── cufon-yui.js
│ │ │ ├── jquery.easing.1.3.js
│ │ │ └── jquery.min.js
│ │ ├── userNav.xhtml
│ │ └── WEB-INF
│ │ ├── context.xml
│ │ ├── faces-config.xml
│ │ ├── java.sql.Driver
│ │ └── web.xml
│ └── test
│ └── java
│ └── com
│ └── SR_57
└── target
├── classes
│ └── com
│ └── SR_57
│ └── userCheck.class
├── endorsed
│ └── javaee-endorsed-api-6.0.jar
├── generated-sources
│ └── annotations
├── maven-archiver
│ └── pom.properties
├── SR_57-web-1.0-SNAPSHOT
│ ├── home.xhtml
│ ├── index.html
│ ├── META-INF
│ ├── resources
│ │ ├── css
│ │ │ ├── sr_style.css
│ │ │ └── style.css
│ │ ├── images
│ │ │ ├── 1.jpg
│ │ │ ├── 2.jpg
│ │ │ ├── 3.jpg
│ │ │ ├── 4.jpg
│ │ │ ├── 5.jpg
│ │ │ ├── 6.jpg
│ │ │ ├── 7.jpg
│ │ │ ├── bg_1.jpg
│ │ │ ├── bg.jpg
│ │ │ ├── overlay_1.png
│ │ │ ├── overlay.png
│ │ │ ├── title_1.png
│ │ │ └── title.png
│ │ └── js
│ │ ├── ChunkFive_400.font.js
│ │ ├── cufon-yui.js
│ │ ├── jquery.easing.1.3.js
│ │ └── jquery.min.js
│ ├── userNav.xhtml
│ └── WEB-INF
│ ├── classes
│ │ └── com
│ │ └── SR_57
│ │ └── userCheck.class
│ ├── context.xml
│ ├── faces-config.xml
│ └── web.xml
├── SR_57-web-1.0-SNAPSHOT.war
└── surefire
64 directories, 75 files
Я поместил файл context.xml в папку WEB-INF и я добавил эту строку:
<?xml version="1.0" encoding="UTF-8"?>
<SessionCookie path="/" />
я добавил код Java, который берет из бобов печенье номер и записывает их в базу данных. Затем я запускаю купленные пакеты EAR, чтобы увидеть, будут ли они разделять один идентификатор сеанса. Оказывается, что идентификатор файла cookie с одного клиента с одним браузером отличается. Конфигурация не работает. Я использую JBoss 7.1.0
Возможно, я ошибался в каталоге, где мне нужно поместить файл context.xml?
Я знаю, что это сообщение старше, теперь его можно в jboss с минимальной конфигурацией. ссылка http://www.mastertheboss.com/jboss-server/wildfly-8/sharing-httpsession-between-web-applications-in-an-ear – Aadam
Спасибо за обновление Aadam – Richie