मैं वर्तमान में यूनिट परीक्षणों के लिए एम्बेडेड कंटेनर के रूप में अपाचे openejb का उपयोग कर रहा हूं। हालांकि यह एक ईजेबी 3/जेपीए प्रोजेक्ट है, इसे ईजेबी 2 के लिए भी काम करना चाहिए।
Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
// a DataSource named "mysql"
props.put("mysql", "new://Resource?type=DataSource");
props.put("mysql.JdbcDriver", "com.mysql.jdbc.Driver");
props.put("mysql.JdbcUrl", "jdbc:mysql://localhost:3306");
props.put("mysql.JtaManaged", "true");
props.put("mysql.DefaultAutoCommit", "false");
props.put("mysql.UserName", "root");
props.put("mysql.Password", "root");
Context context = new InitialContext(props);
LocalInterface local = (LocalInterface)context.lookup(localInterfaceName + "BeanLocal");
DataSource ds = (DataSource)context.lookup("java:openejb/Resource/mysql");
संपादित: अपने परीक्षणों में कंटेनर bootstrap करने के लिए आप सिर्फ एक InitialContext उद्देश्य यह है कि आप बाद में देखने के लिए EJBs और datasources उपयोग कर सकते हैं बनाने के लिए वहाँ पर 'परीक्षण तकनीक' अनुभाग में कुछ और प्रलेखन है http://openejb.apache.org/3.0/index.html।
स्रोत
2009-09-30 14:30:55
+1 पर एक नज़र डालें।:) –
दरअसल, मैंने वर्षों से कैक्टस का उपयोग नहीं किया :) –
मैंने उपयोग के लिए कैक्टस सेट करने का प्रयास किया, लेकिन मुझे वास्तव में यह नहीं मिला! मुझे लगता है कि सेटअप करना बहुत मुश्किल है। मैं ग्रहण और नेटबीन का उपयोग कर रहा हूं। – Attilah