इस लेख में मैं आपको बताऊंगा कि जेपीए का उपयोग करके जेबॉस पर एक परियोजना को कैसे कॉन्फ़िगर किया जाए। मुझे JPA, हाइबरनेट, EJB के विवरण में नहीं जाना चाहिए, यह एक अलग विषय है। मैं आपको केवल परियोजना की संरचना दिखाऊंगा, वाइल्डफ़्लाई पर डेटा स्रोत को कैसे कॉन्फ़िगर करें और इसे सभी IntelliJ IDEA में चलाएं। मुझे लगता है कि यह ढांचा, JavaEE और JPA के साथ काम करने वाले शुरुआती लोगों के लिए उपयोगी होगा।
WildFly10 स्थापित करें
हम
आधिकारिक WildFly वेबसाइट पर जाते हैं और 10.1.0.Final संस्करण डाउनलोड करते हैं। (शायद एक और काम करेगा, लेकिन इस परियोजना में मैंने इसका इस्तेमाल किया)।
अपने कंप्यूटर पर किसी भी निर्देशिका में संग्रह को अनपैक करें।
अगला, एक नया उपयोगकर्ता बनाएँ। ऐसा करने के लिए, बिन / ऐड-user.bat चलाएँ। वहां सब कुछ काफी सरल है। निर्देशों का पालन करें और दर्ज किए गए उपयोगकर्ता नाम और पासवर्ड को याद रखें।
डेटा स्रोत बनाएँ
अगला कदम सर्वर पर एक डेटा स्रोत बनाना है। सबसे आसान तरीका यह होगा कि वाइल्डली द्वारा दिए गए एडमिन कंसोल का उपयोग करें।
इसे दर्ज करने के लिए, सबसे पहले आपको सर्वर /bin/standalone.bat को शुरू करना होगा और पता
127.0.0.1 : 9990 पर जाना होगा। आपके द्वारा अभी बनाया गया उपयोगकर्ता नाम और पासवर्ड का उपयोग करें।
तैनाती पर जाएं-> जोड़ें-> एक नया परिनियोजन अनुभाग अपलोड करें।
अब आधिकारिक postgresql वेबसाइट से jdbc ड्राइवर डाउनलोड करें। मैंने postgresql-42.2.4.jar डाउनलोड किया। हम इसे तैनाती में जोड़ते हैं। कोई भी नाम दिया जा सकता है।
आगे विन्यास-> सबसिस्टम-> डेटा स्रोत-> गैर- XA-> जोड़ें।
Postgresql Datasource और हमारे डाउनलोड किए गए ड्राइवर को चुनें। हम अपने डेटाबेस, उपयोगकर्ता नाम और पासवर्ड का यूआरएल सेट करते हैं। (सर्वर से उपयोगकर्ता नाम और पासवर्ड के साथ भ्रमित होने की नहीं)। यदि सब कुछ सही ढंग से किया गया था, तो आपका नया डेटा स्रोत सूची में दिखाई देना चाहिए। दृश्य टैब में, यदि आप परीक्षण कनेक्शन पर क्लिक करते हैं, तो आप डेटाबेस से कनेक्शन की जांच कर सकते हैं।
IntelliJ IDEA में एक प्रोजेक्ट बनाना
यहां सब कुछ मानक है। मुझे लगता है कि कोई अतिरिक्त टिप्पणी की आवश्यकता नहीं है। एक मावेन प्रोजेक्ट बनाएं। हमने युद्ध को पैकेजिंग में रखा। और आवश्यक निर्भरताएं जोड़ें।
दरअसल यहां मेरा pom.xml है
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>yst</groupId> <artifactId>hiberProject</artifactId> <version>1.0-SNAPSHOT</version> <packaging>war</packaging> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>5.2.12.Final</version> <scope>provided</scope> </dependency> </dependencies> <build> <finalName>hiberProject</finalName> </build> </project>
परियोजना की संरचना

ध्यान दें कि pers.ence-xml WEB-INF-> कक्षाओं-> META-INF में है।
और यहाँ हठ है। xml ही
<?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> <persistence-unit name="myUnit" > <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <jta-data-source>java:/PostgresDS</jta-data-source> <class>UserEntity</class> <class>JavaBean</class> <properties> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="true" /> <property name="hibernate.hbm2ddl.auto" value="update" /> </properties> </persistence-unit> </persistence>
Jta-data-source के रूप में, jndi-name का उपयोग करें, जो डेटा स्रोत बनाते समय निर्दिष्ट किया गया था।
यदि आप भूल जाते हैं, तो आप अनुभाग कॉन्फ़िगरेशन में 127.0.0.1:9990 पर देख सकते हैं-> सबसिस्टम-> डेटा स्रोत-> हमारे डेटा स्रोत-> देखें-> विशेषताएँ-> JNDI लाइन।अब हम अपनी कक्षाओं को देखें।
1. सबसे सरल इकाई वर्ग।
विवरण पेंट नहीं है। यह एक और विषय है।
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class UserEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
2. ईजेबी वर्ग
एनोटेशन @PersistenceContext हमारी दृढ़ता-इकाई को इंजेक्ट करता है और इसके आधार पर एक EntityManager बनाता है।
@Stateless एनोटेशन इंगित करता है कि यह ejb है।
import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; @Stateless public class JavaBean { @PersistenceContext(unitName = "myUnit") EntityManager entityManager; public void saveUser(UserEntity user){ entityManager.persist(user); } }
3. सरलतम सर्वलेट
सार @EJB इंजेक्ट जावाबीन।
DoGet पद्धति में, "Ser" नामक एक उपयोगकर्ता बनाया गया है और ejb से saveUser विधि कहा जाता है।
यदि कोई उपयोगकर्ता तालिका नहीं थी, तो हाइबरनेट तालिका स्वयं बनाएगा और हमारे उपयोगकर्ता को वहां डालेगा।
import javax.ejb.EJB; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @WebServlet("/test") public class App extends HttpServlet{ @EJB JavaBean javaBean; @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { UserEntity user=new UserEntity(); user.setName("Ser"); javaBean.saveUser(user); resp.getWriter().println("Hello from servlet"); } }
प्रोजेक्ट लॉन्च
IDEA में jboss को कॉन्फ़िगर करने के लिए, Run-> EditConfiguration पर जाएं, ऊपरी बाएं कोने में "+" पर क्लिक करें और jboss-local चुनें।

ApplicationServer के रूप में, हमारे स्थापित WildFly के साथ फ़ोल्डर का चयन करें। एक विरूपण साक्ष्य के रूप में, मैंने एक्सट्राआर्टवर्क (मावेन हाइबरप्रोजेक्ट द्वारा संकलित) चुना, मानक बिल्ड को हटा दिया और मानक मावेन कार्यों (स्वच्छ पैकेज स्थापित) को जोड़ा।
अब हम स्टार्ट दबाते हैं और जब सर्वर लोड होता है तो हम इंतजार करते हैं। इसके बाद, लोकलहोस्ट पेज पर जाएं: 8080 / प्रोजेक्ट नाम / परीक्षण।
जब पृष्ठ लोड होता है, तो doGet पद्धति चालू हो जाती है और हमारा उपयोगकर्ता "Ser" नाम डेटाबेस के साथ लिखा जाता है।
आप सभी का धन्यवाद। मुझे उम्मीद है कि इस लेख ने किसी की मदद की।
यहाँ इस प्रोजेक्ट के साथ GitHub का
लिंक दिया गया है।