2016-10-16 2 views
0

J'ai pu démarrer l'application de démonstration Broadleaf à partir des scripts fournis adminstart.sh et startsite.sh. J'ai également pu changer la base de données en MySQL. Cependant, je ne comprends pas comment créer une guerre qui peut s'exécuter sur mon instance Tomcat. Je vois que broadleaf fait les choses différemment par rapport à l'approche commune. Habituellement, je mets les valeurs de contexte dans le fichier application-context. xml qui est référencé dans web.xml. Il n'est pas nécessaire de modifier Tomcat context.xml. L'exemple estComment déployer la démo broadleaf sur mon propre serveur Tomcat?

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>classpath:spring/application-context.xml</param-value> 
</context-param 

Dans la configuration feuillue il y a plusieurs paramètres contexte

<context-param> 
    <param-name>webAppRootKey</param-name> 
    <param-value>blAdmin.root</param-value> 
</context-param> 

<context-param> 
    <param-name>patchConfigLocation</param-name> 
    <param-value> 
     classpath:/bl-open-admin-contentClient-applicationContext.xml 
     classpath:/bl-open-admin-contentCreator-applicationContext.xml 
     classpath:/bl-admin-applicationContext.xml 
     classpath:/bl-cms-contentClient-applicationContext.xml 
     classpath:/bl-cms-contentCreator-applicationContext.xml 
     classpath*:/blc-config/admin/bl-*-applicationContext.xml 
     classpath:/applicationContext.xml 
     classpath:/applicationContext-email.xml 
     /WEB-INF/applicationContext-datasource.xml 
     /WEB-INF/applicationContext-admin-security.xml 
     /WEB-INF/applicationContext-admin-filter.xml 
     /WEB-INF/applicationContext-admin.xml 
    </param-value> 
</context-param> 

<context-param> 
    <param-name>shutdownHookMethod</param-name> 
    <param-value>forceFlush</param-value> 
</context-param> 

plus en plus dans web.xml:

<!-- Initialize spring mvc --> 
<servlet> 
    <servlet-name>admin</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value> 
      classpath:/applicationContext-servlet-open-admin.xml 
      classpath:/applicationContext-servlet-admin.xml 
      classpath:/applicationContext-servlet-cms-contentClient.xml 
      classpath:/applicationContext-servlet-cms-contentCreator.xml 
      classpath:/bl-menu-admin-applicationContext-servlet.xml 
      classpath*:/blc-config/admin/bl-*-admin-applicationContext-servlet.xml 
      /WEB-INF/applicationContext-servlet-admin.xml 
     </param-value> 
    </init-param> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

Le résultat est que l'instance Tomcat contient contexte .xml dans le répertoire conf qui fournit la configuration du pool de base de données:

Quelle est la meilleure façon d'utiliser broadleaf dans ma demande?

Répondre

0

Configuration

  • Mettez votre pilote JDBC MySQL dans le dossier tomcat7/lib
  • web.xml ouvert pour les deux modules du site et d'administration dans demosite
  • Ajoutez le code suivant dans les deux web.xml
<resource-ref> 
    <description>WEB</description> 
    <res-ref-name>jdbc/web</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

<resource-ref> 
    <description>STORAGE</description> 
    <res-ref-name>jdbc/storage</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 

<resource-ref> 
    <description>SECURE</description> 
    <res-ref-name>jdbc/secure</res-ref-name> 
    <res-type>javax.sql.DataSource</res-type> 
    <res-auth>Container</res-auth> 
</resource-ref> 
  • Ouvrir cmd invite pour windows ou shell de commande pour Linux
  • Accédez à votre JDK_directory/bin et créer keystore pour SSL de commutation
 
keytool -genkey -alias tomcat -keyalg RSA -storepass password 
  • Ouvert tomcat7/conf/server.xml
  • Ajoutez le code ci-dessous pour activer la commutation SSL , juste au-dessous de votre connecteur port par défaut
<Connector 
    protocol="org.apache.coyote.http11.Http11NioProtocol" 
    port="8443" maxThreads="200" 
    scheme="https" secure="true" 
    SSLEnabled="true" 
    keystorePass="password" 
    clientAuth="false" 
    sslProtocol="TLS" 
    /> 
  • Ouvert tomcat7/conf/tomcat-users.xml
  • Ajouter suivant
<user username="tomcat" password="password" roles="manager-gui"/> 
  • POPULATE database.properties avec des valeurs pour votre base de données ou
  • Configurer JNDI pour tomcat
  • Dans votre Le dossier admin ou site contient le fichier cible/tomcat-server-config/context.xml.
  • Copier ce fichier dans tomcat7/conf/
  • Ouvrir ce fichier et remplacez les propriétés suivantes avec les valeurs de votre base de données
username="${database.user}" : Replace with your database username (eg. broadleaf) 
password="${database.password}" : Replace with your database password 
driverClassName="${database.driver}" : Replace with your database classname (eg. org.postgresql.Driver) 
url="${database.url}" : Replace with your database URL with database path, port and name. (eg. jdbc:postgresql://localhost:5432/broadleaf) 
  • dans votre IDE Démarrer projet Maven installer objectif du cycle de vie (de tout le projet ou de chaque module)
  • Ceci créera des conflits pour chaque module
  • Démarrer tomcat (lancer startup.bat/startup.s h dans ~/tomcat7/bin /)
  • Aller au gestionnaire de l'application et entrez le nom d'utilisateur tomcat et la clé que vous avez ajouté dans des guerres tomcat-users.xml
  • Déployez admin et le site chemin de contexte
  • est la cartographie url (ex./Admin et/demo site)
  • url de configuration XML est le chemin complet à vos cibles context.xml (par exemple. ~/Target/tomcat-server-conf/context.xml)
  • répertoire

    WAR est le chemin complet votre guerre dans le répertoire cible

  • ne pas oublier de changer blPU.hibernate.hbm2ddl.auto dans development.properties de créer la mise à jour (tomcat autonome ont du mal à créer des tables - qui est mon expirience avec PostreSQL)

+0

Zildyan, avez-vous essayé ces étapes et obtenu le succès? ul? –

+1

Ofcourse - J'ai passé toute la journée là-dessus. Peut-être que j'ai raté quelque chose parce que j'ai écrit une réponse de mémoire. Vous avez un bon début ici, cherchez un peu plus. Si je l'ai fait, vous pouvez le faire aussi;) – Zildyan