मैं ओएसजीआई आधारित डेस्कटॉप एप्लिकेशन लिखने की कोशिश कर रहा हूं। मेरे पास स्विंग जेफ्रेम है और मैं मॉड्यूल (अन्य बंडल) जोड़ने के लिए संभावनाएं जोड़ना चाहता हूं। मैं EclipseZone OSGi at JSig tutorial के माध्यम से चला गया, लेकिन प्रत्येक एप्लिकेशन ओएसजीआई फ्रेमवर्क से शुरू किया गया है (इस मामले में, Knopflerfish ओएसजीआई डेस्कटॉप)।डेस्कटॉप स्टैंडअलोन एप्लिकेशन में ओएसजीआई का उपयोग
तो मेरा सवाल यह है कि क्या ओएसजीआई फ्रेम के बिना एप्लिकेशन को शुरू करने का विकल्प है? मैं knwo, कोड से, एक बंडल के गुणों को बदलना संभव है, लेकिन इस तरह एक ढांचे के गुणों को बदलने के लिए कैसे? (उदाहरण के लिए डिफ़ॉल्ट बंडल भंडारण स्थान, तो डिफ़ॉल्ट कार्यवाही जब बंडल स्थान आदि? में है)
public class MainFrame extends ServiceTracker implements BundleActivator {
public MainFrame(BundleContext context, JToolBar toolBar) {
// select, which services is the bundle tracking
super(context, JMenu.class.getName(), null);
}
@Override
public void start(BundleContext context) throws Exception {
//display a JFrame
}
@Override
public void stop(BundleContext context) throws Exception {
//hide a JFrame
}
@Override
public Object addingService(ServiceReference reference) {
// Process a Service and return a JMenu
return new JMenu();
}
@Override
public void removedService(ServiceReference reference, Object service) {
// remove a JMenu from a JFrame
}
public static void main(String[] args) {
// ????????????????????????????????????????????
// ????????????????????????????????????????????
}
}
मैं ऊपर (मैं सिर्फ एक स्केच पोस्ट किया है) एक वर्ग में लिखा है, लेकिन मुझे पता नहीं, क्या करना है मुख्य() फ़ंक्शन में लिखें। यह बंडल Knopflerfish OSGi डेस्कटॉप में ठीक काम करता है, लेकिन मैं इसे इसके बिना चलाने के लिए चाहता हूं।
धन्यवाद! ब्लॉग पोस्ट ने वास्तव में इसे हल किया। – Benjamin
ब्लॉग पोस्ट लिंक टूटा हुआ। –