Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
»ùÓÚ OSGi ºÍ Spring ¿ª·¢ Web Ó¦ÓÃ
 
×÷Õß ÕÅÏþÄþ£¬»ðÁú¹ûÈí¼þ    ·¢²¼ÓÚ 2014-10-11
  2844  次浏览      29
 

×÷Ϊһ¸öеÄÊÂʵÉϵĹ¤Òµ±ê×¼£¬OSGi ÒѾ­Êܵ½Á˹㷺µÄ¹Ø×¢£¬ ÆäÃæÏò·þÎñ£¨½Ó¿Ú£©µÄ»ù±¾Ë¼ÏëºÍ¶¯Ì¬Ä£¿é²¿ÊðµÄÄÜÁ¦£¬ ÊÇÆóÒµ¼¶Ó¦Óó¤ÆÚÒÔÀ´Ò»Ö±×·ÇóµÄÄ¿±ê¡£Spring ÊÇÒ»¸öÖøÃûµÄ ÇáÁ¿¼¶ J2EE ¿ª·¢¿ò¼Ü£¬ÆäÌØµãÊÇÃæÏò½Ó¿Ú±à³ÌºÍ·ÇÇÖÈëʽµÄÒÀÀµ×¢Èë¡£½« OSGi ºÍ Spring ½áºÏÄܳä·Ö·¢»Ó¶þÕ߸÷×ÔµÄÌØ³¤£¬¸üºÃµØÂú×ãÆóÒµ¼¶Ó¦Óÿª·¢µÄÐèÇó¡£Spring ¿ª·¢×éÖ¯ÔÚ 2008 Äê·¢²¼Á˽« OSGi ºÍ Spring ½áºÏµÄµÚÒ»¸ö°æ±¾£ºSpring-DM¡£±¾ÎÄͨ¹ýÒ»¸ö¼òµ¥ÊµÀý£¬½éÉÜÈçºÎÀûÓà Spring-DM ¿ª·¢»ùÓÚ OSGi ºÍ Spring ¼Ü¹¹µÄ Web Ó¦Óã¬Í¬Ê±Ì½ÌÖÆäÖÐÓõ½µÄ¹Ø¼ü¼¼Êõ¼°Æä»ù±¾Ë¼Ïë¡£

¿ª·¢Ò»¸ö¼òµ¥µÄ OSGi Web Ó¦ÓÃʵÀý

Ò»¸ö¼òµ¥µÄ Web Ó¦ÓÃ

ÎÒÃÇдһ¸ö¼òµ¥µÄ Web Ó¦Óà compute.html £º¼ÆËãÁ½¸öÊý×ֵĺͻò³Ë»ý¡£ÈçÏÂͼËùʾ£º

ͼ 1. Ò»¸ö¼òµ¥Àý×Ó

ΪÁËÌåÏÖ OSGi bundle µÄ¶¯Ì¬²¿ÊðÄÜÁ¦£¬ÎÒÃÇдÁ½¸ö service bundle£¬ÆäÖÐÒ»¸ö¼ÆËãÁ½¸öÊý×ֵĺͣ¨³ÆÎª add bundle£©£¬ÁíÍâÒ»¸ö¼ÆËãÁ½¸öÊý×ֵĻý£¨³ÆÎª multiply bundle£©¡£ µ±ÎÒÃǵã»÷¡°Compute¡±°´Å¥µÄʱºò£¬Èç¹û´Ëʱ add bundle ±»²¿Êð£¬ÔòÒ³Ãæ½«·µ»ØÁ½¸öÊý×ֵĺͣ¬·ñÔòÈç¹û´Ëʱ multiply bundle ±»²¿Êð£¬ÔòÒ³Ãæ½«·µ»ØÁ½¸öÊý×ֵĻý¡£

¿ª·¢»·¾³×¼±¸

ÏÂÔØ Eclipse 3.4

»ñÈ¡ËùÓÐ OSGi, Equinox ºÍ Spring µÄ²å¼þ, ÈçÏÂͼËùʾ:

ͼ 2. Ïà¹Ø²å¼þÁбí

´ò¿ª Eclipse, ÉèÖà target platform ΪÉÏÊö²å¼þ¼¯ºÏ

»ù±¾Ä£¿éÉè¼Æ

¸ÃÓ¦ÓÃÖ÷Òª°üº¬Á½¸ö²ã´Î: ·þÎñ²ãºÍ Web ²ã¡£Web ²ã»ùÓÚ Spring-MVC ʵÏÖ£¬°üº¬´¦Àí Web·ÃÎÊÏà¹ØµÄ bundle£¨±¾ÀýÖÐÖ»ÓÐÒ»¸ö£©¡£·þÎñ²ã°üº¬´¦ÀíÊý×Ö¼ÆËãµÄ bundle£¬±¾ÀýÖаüº¬Ò»¸öÉùÃ÷·þÎñ½Ó¿ÚµÄ compute interface bundle ºÍÁ½¸öʵÏָ÷þÎñ½Ó¿ÚµÄ bundle £ºadd bundle ºÍ multiply bundle¡£»ù±¾Ä£¿é½á¹¹ÈçÏÂͼËùʾ£º

ͼ 3. »ù±¾¿ò¼Ü

Ä£¿é³ÌÐòʵÏÖ

Step 1 £ºÊµÏÖ Service Layer

·þÎñ²ãµÄÈý¸ö OSGi bundle ʵÏÖÍê±ÏÖ®ºóÈçÏÂͼËùʾ £º

ͼ 4. ·þÎñ²ã

·þÎñ²ã.bmp

ÆäÖÐ com.zxn.example.service.compute ÊÇÉùÃ÷·þÎñ½Ó¿ÚµÄ bundle¡£com.zxn.example.service.compute.add

com.zxn.example.service.compute.multiply ÊÇʵÏÖÁË·þÎñ½Ó¿ÚµÄÁ½¸ö bundle¡£

com.zxn.example.service.compute

ÉùÃ÷Ò»¸ö Compute ½Ó¿Ú£¬ÆäÖаüº¬Ò»¸ö½Ó¿Ú·½·¨ computeNums£¨£©£¬ÈçÏÂͼËùʾ £º

ͼ 5. ·þÎñ²ã½Ó¿Ú bundle

com.zxn.example.service.compute.add

bundle com.zxn.example.service.compute.add µÄ»ù±¾³ÌÐò½á¹¹ÈçÏÂͼËùʾ£º

ͼ 6. ½Ó¿ÚʵÏÖ bundle £ºadd

Ôڸà add bundle ÖУ¬Ìí¼ÓÒ»¸ö Add À࣬ʵÏÖ Compute ½Ó¿Ú£¬ÈçÏÂͼËùʾ£º

ͼ 7. ½Ó¿ÚʵÏÖ´úÂë £ºAdd Àà

×¢Òâµ½ÎÒÃÇÔÚ META-INF Ͻ¨ÁËÒ»¸ö spring Ŀ¼£¬²¢ÇÒÌí¼ÓÁËÒ»¸ö computeAdd-context.xml Îļþ¡£ÏµÍ³Æô¶¯Ê±£¬Spring ½«ÀûÓøà xml Îļþ´´½¨Ò»¸ö bean ʵÀý£¬²¢°Ñ¸Ã bean Êä³öΪһ¸ö OSGi service£¬ÈçÏÂͼËùʾ £º

ͼ 8. Spring ÉùÃ÷Îļþ £ºcomputeAdd-context.xml

¸ÃxmlÎļþÖУ¬osgi : serviceÊÇ Spring-DM Êä³ö OSGi service µÄ±ê¼Ç£¬ÆäÖÐµÄ interfaceÊôÐÔ±êÃ÷Á˸à service ʵÏֵķþÎñ½Ó¿Ú¡£

com.zxn.example.service.compute.multiply

°´ÕÕÓë add bundle ͬÑùµÄ·½·¨£¬ÊµÏÖ multiply bundle£¬ÈçÏÂͼËùʾ£º

ͼ 9. ½Ó¿ÚʵÏÖ´úÂ룺Multiply Àà

½Ó¿ÚʵÏÖ´úÂë-MultiplyÀà.bmp

ÀàËÆµÄ£¬Ìí¼ÓÒ»¸ö computeMultiply-context.xml Êä³ö OSGi service£¬ÈçÏÂͼËùʾ £º

ͼ 10. Spring ÉùÃ÷Îļþ£ºcomputeMultiply-context.xml

Step 2 £ºÊµÏÖ Web Layer

Web ²ãÖ»°üº¬Ò»¸ö bundle£ºcom.zxn.example.web£¬²ÉÓà Spring-MVC ºÍ OSGi ¹¹½¨£¬»ù±¾³ÌÐò½á¹¹ÈçÏÂͼËùʾ£º

ͼ 11. Web Layer ³ÌÐò½á¹¹

ComputeControler.java

¸ÃJAVAÀàʵÏÖÁË org.springframework.web.servlet.mvc.Controller£¬ÊDZ¾ webÓ¦ÓÃÖкËÐÄµÄ servlet£¬¸ºÔð½ÓÊܲ¢´¦Àí web ÇëÇ󡣸ÃÀàµ÷Óà ComputeServiceRef µÄ·½·¨ÊµÏÖÒµÎñÂß¼­¡£¸ÃÀà¹Ø¼üµÄ·½·¨ÊÇ handleRequest(¡­), ÈçÏÂͼËùʾ £º

ͼ 12. ºËÐÄ servlet Àà

ComputeServiceRef.java

¸Ã JAVA ÀฺÔðÒýÓò¿ÊðµÄ service bundle Íê³É×îÖÕ¼ÆË㣬ÆäÖÐµÄ computeService ÓÉ Spring ¸ù¾Ý OSGi ÖÐʵ¼Ê²¿ÊðµÄ service ½øÐÐ×¢Èë¡£±¾ÀýÖУ¬Êµ¼Ê²¿ÊðµÄ service ¿ÉÄÜÊÇ add bundle »òÕß multiply bundle¡£

ÐèÒªÌØ±ð×¢ÒâµÄÊÇ£¬´Ë´¦ÌåÏÖÁË Spring-DM µÄ¶¯Ì¬ÌØÐÔ¡£OSGi µÄ¶¯Ì¬²¿ÊðÄÜÁ¦Ê¹µÃ Spring µÄ¶¯Ì¬·þÎñ×¢Èë³ÉΪ¿ÉÄÜ¡£

ͼ 13. ·þÎñÏû·ÑÀà

HTTPContextResgistry.java

¸Ã JAVA ÀฺÔðÔÚ OSGi »·¾³ÖÐÅäÖúÍ×¢²á HTTP ·þÎñ£¬Æä¹Ø¼ü·½·¨Îª bean ³õʼ»¯Ê±µ÷ÓÃµÄ init( ) ·½·¨¡£

ͼ 14. ÔÚ OSGi »·¾³ÖÐ×¢²á HTTP ·þÎñ

¸Ã init ·½·¨ÖУ¬µÚÁùÐÐµÄ getHTTPService(¡­) µ÷Óà OSGi µÄ ServiceTracker À´»ñÈ¡ OSGi»·¾³ÖÐ×¢²áµÄ HTTP ·þÎñµÄÒýÓã¬ÈçÏÂͼËùʾ£º

ͼ 15. ʹÓà ServiceTracker »ñÈ¡ HTTP ·þÎñ

computeWeb-context.xml

¸Ã xml ÎļþÖ÷ÒªÓÃÓÚÅäÖà HTTPContextResgistry bean À࣬ÒÔ¼°µ¼Èë¶Ô Compute ·þÎñ½Ó¿ÚµÄÒýÓᣱê¼Ç osgi : reference ÓÃÓÚÉùÃ÷Òªµ¼ÈëµÄ·þÎñ½Ó¿Ú£¬Æä interface ÊôÐÔ±êÃ÷Á˸ýӿڵ͍Ò壬±¾ÀýÖÐΪ com.zxn.example.service.compute.Compute ½Ó¿Ú¡£

ͼ 16. Spring ÉùÃ÷Îļþ£ºµ¼Èë·þÎñ½Ó¿Ú

computeWeb-Dispatcher.xml

¸Ã xml ÎļþÓÃÓÚÅäÖà ComputeControler beanÀà¡£

ͼ 17. Spring ÉùÃ÷Îļþ£ºÅäÖúËÐÄ servlet Àà

ÔËÐгÌÐò

ÒÔÍù¿ª·¢ J2EE Ó¦ÓÃͨ³£ÐèÒª½«Ó¦Ó÷þÎñÆ÷µÄ runtime ¼¯³Éµ½¿ª·¢»·¾³ÖвÅÄܽøÐгÌÐòµ÷ÊÔ£¬·Ç³£Âé·³¡£»ùÓÚ OSGi µÄÓ¦ÓÃÍêÈ«¿ÉÒÔÍÑÀëÓ¦Ó÷þÎñÆ÷ÔËÐУ¬ÕâʹµÃ³ÌÐò¿ª·¢ºÍµ÷ÊÔ±äµÃ·Ç³£ÈÝÒ×£¬Ö±½ÓÔÚ Eclipse Öе÷ÊÔÔËÐоͿÉÒÔ¡£ÎÒÃÇÔÚ Eclipse Öн«³ÌÐòÔËÐÐÆðÀ´£¬ÈçÏÂͼËùʾ£º

ͼ18. ÔËÐÐ OSGi ³ÌÐò

´ÓÉÏͼÖп´µ½£¬ÎÒÃÇͬʱѡÔñ²¿ÊðÁË add bundle ºÍ multiply bundle£¬ÀûÓà OSGi console ²ì¿´ÈçÏ£º

ͼ 19. ²ì¿´²¿ÊðµÄ OSGi bundle

µ± OSGi »·¾³ÖÐͬʱ²¿ÊðÓжà¸ö·þÎñ½Ó¿ÚµÄʵÏÖ bundle ʱ£¬OSGi »áÑ¡ÔñÒ»¸öĬÈ쵀 bundleÌṩ·þÎñ¡£±¾ÀýÖУ¬Spring »áĬÈÏ×¢Èë add bundle¡£ÎÒÃÇͨ¹ý web ·ÃÎÊ compute.html Ò³Ãæ£º

ͼ 20. ·ÃÎÊÒ³Ãæ

µã Compute °´Å¥Ö®ºó£¬½á¹ûÒ³ÃæÈçÏ£º

ͼ 21. ·ÃÎʽá¹û

¿ÉÒÔ¿´³ö£¬ÊÇ add bundle ÌṩÁ˼ÆËã·þÎñ¡£ÏÂÃæÎÒÃÇͨ¹ýÃüÁî £¼stop 76£¾ À´Í£Ö¹ add bundleµÄ·þÎñ£º

ͼ 22. ֹͣ add bundle

ͼ 23. add bundle ״̬±äΪ RESOLVED

ÖØÐ·ÃÎÊ compute.html Ò³Ãæ£¬½á¹ûµÃµ½µÄÊÇÁ½¸öÊý×ֵij˻ý¡£¿ÉÒÔ¿´³ö£¬ÊÇ multiply bundl

ÌṩÁ˼ÆËã·þÎñ¡£ÈçÏÂͼËùʾ£º

ͼ 24. ÔٴηÃÎÊÒ³Ãæ

С½á

×÷Ϊµ±Ç°ÆÄ¾ßÉúÃüÁ¦µÄÁ½¸ö±ê×¼ºÍ¿ò¼Ü£¬OSGi ºÍ Spring ÒѾ­³õ²½ÈÚºÏÔÚÒ»Æð¡£¶þÕߵĽáºÏ£¬Îª¿ª·¢ÆóÒµ¼¶µÄ Web Ó¦ÓÃͬʱÌṩÁ˾޴óµÄÁé»îÐԺͶ¯Ì¬²¿ÊðÄÜÁ¦¡£±¾ÎÄͨ¹ýÒ»¸ö¼òµ¥µÄÀý×Ó£¬ÃèÊöÈçºÎ¿ª·¢Ò»¸ö»ùÓÚ OSGi ºÍ Spring µÄ Web Ó¦Ó㬲¢ËµÃ÷ÁË¿ª·¢¹ý³ÌÖÐÉæ¼°µ½µÄ¼¼Êõ¹Ø¼üµã¡£

×¢Ò⣺±¾ÎĹ۵ã½ö´ú±í×÷Õß±¾ÈË£¬²»´ú±í IBM ¹«Ë¾¡£

   
2844 ´Îä¯ÀÀ       29
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢ 6-12[ÏÃÃÅ]
È˹¤ÖÇÄÜ.»úÆ÷ѧϰTensorFlow 6-22[Ö±²¥]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 6-30[±±¾©]
ǶÈëʽÈí¼þ¼Ü¹¹-¸ß¼¶Êµ¼ù 7-9[±±¾©]
Óû§ÌåÑé¡¢Ò×ÓÃÐÔ²âÊÔÓëÆÀ¹À 7-25[Î÷°²]
ͼÊý¾Ý¿âÓë֪ʶͼÆ× 8-23[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö


Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ


Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ