配置的目的是集成granite data service ,Spring,Toplink,JPA,flex,依托adobe AMF协议进行RIA开发,测试集成的难度与开发的速度。
先贴上granite data service的配置文件,关于spring的配置请参考
spring和toplink集成显式事务配置
/WEB-INF/Granite/granite-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE granite-config PUBLIC "-//Granite Data Services//DTD granite-config internal//EN"
- "http://www.graniteds.org/public/dtd/1.2.0/granite-config.dtd">
- <granite-config>
- <classgetter type="org.granite.toplink.TopLinkClassGetter"/>
- <externalizers>
- <externalizer type="org.granite.toplink.TopLinkExternalizer">
- <include annotatedwith="javax.persistence.Entity" />
- <include annotatedwith="javax.persistence.MappedSuperclass" />
- <include annotatedwith="javax.persistence.Embeddable" />
- <!–
- <include type="org.test.model.Post"/>
- –>
- </externalizer>
- </externalizers>
- </granite-config>
/WEB-INF/flex/services-config.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <services-config>
- <services>
- <service
- id="granite-service"
- class="flex.messaging.services.RemotingService"
- messageTypes="flex.messaging.messages.RemotingMessage">
- <destination id="postService">
- <channels>
- <channel ref="my-graniteamf"/>
- </channels>
- <properties>
- <factory>springFactory</factory>
- <source>postService</source>
- </properties>
- </destination>
- </service>
- </services>
- <factories>
- <factory id="springFactory" class="org.granite.messaging.service.SpringServiceFactory"/>
- </factories>
- <channels>
- <channel-definition id="my-graniteamf" class="mx.messaging.channels.AMFChannel">
- <endpoint
- uri="http://{server.name}:{server.port}/{context.root}/graniteamf/amf"
- class="flex.messaging.endpoints.AMFEndpoint"/>
- </channel-definition>
- </channels>
- </services-config>
/META-INF/granite-config.properties
#for toplink
classGetter=org.granite.toplink.TopLinkClassGetter
/WEB-INF/web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <description>
- my first Granite Data Service and Spring framework
- </description>
- <display-name>GraniteDS Spring</display-name>
- <context-param>
- <description>Path to spring config</description>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- /WEB-INF/classes/applicationContext.xml
- </param-value>
- </context-param>
- <context-param>
- <param-name>graniteConfigPath</param-name>
- <param-value>/WEB-INF/granite/granite-config.xml</param-value>
- </context-param>
- <context-param>
- <param-name>servicesConfigPath</param-name>
- <param-value>/WEB-INF/flex/services-config.xml</param-value>
- </context-param>
- <filter>
- <filter-name>AMFMessageFilter</filter-name>
- <filter-class>
- org.granite.messaging.webapp.AMFMessageFilter
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>AMFMessageFilter</filter-name>
- <url-pattern>/graniteamf/*</url-pattern>
- </filter-mapping>
- <listener>
- <listener-class>
- org.springframework.web.context.ContextLoaderListener
- </listener-class>
- </listener>
- <listener>
- <listener-class>
- org.springframework.web.context.request.RequestContextListener
- </listener-class>
- </listener>
- <listener>
- <listener-class>
- org.granite.config.GraniteConfigListener
- </listener-class>
- </listener>
- <servlet>
- <servlet-name>AMFMessageServlet</servlet-name>
- <servlet-class>
- org.granite.messaging.webapp.AMFMessageServlet
- </servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>AMFMessageServlet</servlet-name>
- <url-pattern>/graniteamf/*</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <login-config>
- <auth-method>BASIC</auth-method>
- </login-config>
- </web-app>
案例代码下载:
点击下载此文件

