一、前言
最近在做intra-mart项目,网上这些笔记比较少,在此做一下笔记。
intra-mart是由日本intra-mart公司开发和销售的工作流平台,国内确实不怎么用,日本企业用的多些,面试时会问有没有intra-mart经验。
这个自学也比较费事,软件是付费的,文档也不多(官网倒是能选中文文档)
https://document.intra-mart.jp/library/iap/public/setup/iap_quick_setup_guide/texts/tenantsetup/index.html
本人用的主要是需要js开发的项目,个人感觉就是一个部署到后端的war包项目框架,js当java写,能连数据库、能写业务逻辑,能写html页面,能用软件打成war包;可能算是前后端不分离的项目框架吧。
二、环境搭建步骤
1.准备文件
imart.war
包(付费文件)
apache-cassandra-1.1.12.zip
(付费文件)
resin-pro-4.0.66.zip
(付费文件)
postgresql-17.2-3-windows-x64.exe
(官网下载的,下载地址如下)
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
jdk8
,需要但是别配置环境变量。
jdk11
,配置jdk11的环境变量好些。
2.postgresql
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),项目用的,就当mysql一样得了。
安装好后,也是设置用户名密码之类的,其他多余的东西不用装,去掉这个对钩。
官方文档地址:
https://document.intra-mart.jp/library/iap/public/setup/iap_quick_setup_guide/texts/install/common/database.html
3.apache-cassandra
这个东西是一个分布式数据库管理系统,付费的。不知道项目为啥用两个数据库,也许这个是当redis用的?
这个东西需要用jdk8才能启动,不能用jdk11启动;windows里是用cassandra.bat
启动的,因为现在环境变量用的是jdk11(这个是有原因的,下面会提到),所以要打开这个bat文件,最上面一行加上:
set JAVA_HOME=C:\Program Files\Java\jdk1.8
这样才能启动不报错。
PS:
win+r 输入sysdm.cpl
可以打开环境变量设置框,目前的配置为jdk11:
JAVA_HOME
C:\Program Files\Java\jdk-11
Path
%JAVA_HOME%\bin
4.resin
这个东西怎么看怎么像tomcat,比较烦人,只能用jdk11启动(本人试了,8和9都不行,报错),而且windows启动环境是用resin.exe
,所以环境变量设置为了jdk11,省事。(apache-cassandra又不能用11启动,简直了)
5.imart.war
这个是一个war包,给resin用的;放进去后也是先被resin自动解压,然后就能通过浏览器访问了。这个框架包,首次访问前先启动好cassandra和postgresql,会有初始化页面,输入一些信息,自动初始化数据库。
三、项目启动步骤
1.apache-cassandra
首先把cassandra.yaml
中的内容,改为了:
cluster_name: 'imart'
commitlog_directory: D:/server/apache-cassandra-1.1.12/commitlog
saved_caches_directory: D:/server/apache-cassandra-1.1.12/saved_caches
rpc_address: localhost
rpc_port: 9160
其中cluster_name是自定义的,后面要用;directory这些,是启动后一些文件的保存步骤(如果搭建项目有问题,记得删了这些文件重新搭建)
然后用cassandra.bat
启动程序。
2.resin
(1)解压war包
首先把imart.war
包放入\resin-pro-4.0.66\webapps
里,点击resin.exe
启动下项目,会自动解压;由于还没有配置好数据库,报错是正常的,忽略报错关闭resin。
(2)下载数据库链接用jar包
然后把postgresql-42.7.4.jar
放入\resin-pro-4.0.66\lib
目录中,这个jar包是官网下载的:
https://document.intra-mart.jp/library/iap/public/setup/iap_quick_setup_guide/texts/install/common/jdbc.html
https://jdbc.postgresql.org/download/
(3)设置日志输出格式
war包自动解压完毕后,就可以设置了,打开\resin-pro-4.0.66\webapps\imart\WEB-INF\conf\log\im_logger.xml
文件,其中有:
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<outputPatternAsHeader>true</outputPatternAsHeader>
<pattern>[%level] %logger{10} - [%X{log.message.code}] %msg%n</pattern>
<charset>GBK</charset>
</encoder>
</appender>
因为本人的环境是win11中文版,所以改为了GBK格式,这样查看日志就不会乱码了。
(4)配置postgresql数据库文件
打开\resin-pro-4.0.66\webapps\imart\WEB-INF\resin-web.xml
文件,有:
<database jndi-name="jdbc/default">
<driver>
<type>org.postgresql.ds.PGConnectionPoolDataSource</type>
<url>jdbc:postgresql://localhost:5432/imart</url>
<user>postgres</user>
<password>root</password>
<preparedStatementCacheQueries>0</preparedStatementCacheQueries>
</driver>
<max-connections>20</max-connections>
<prepared-statement-cache-size>0</prepared-statement-cache-size>
</database>
其中database标签里default
是jndi名称,url里localhost:5432/imart
是本地postgresql的端口和数据库名;user和password标签是数据库的用户名密码,用户名默认就是postgres
,密码是安装软件时设置的。
再打开\resin-pro-4.0.66\webapps\imart\WEB-INF\conf\data-source-mapping-config.xml
文件,其中有:
<system-data-source>
<resource-ref-name>java:comp/env/jdbc/default</resource-ref-name>
<!-- WebSphere
<resource-ref-name>jdbc/default</resource-ref-name>
-->
</system-data-source>
<tenant-data-source>
<tenant-id>default</tenant-id>
<resource-ref-name>java:comp/env/jdbc/default</resource-ref-name>
<!-- WebSphere
<resource-ref-name>jdbc/default</resource-ref-name>
-->
</tenant-data-source>
其中的tenant-id
就是上面配置的jndi名称,同样为default
。
(5)配置cassandra数据库文件
打开\resin-pro-4.0.66\webapps\imart\WEB-INF\conf\cassandra-config.xml
文件,其中有:
<cluster-name>imart</cluster-name>
<replication-factor>1</replication-factor>
<keyspace>default</keyspace>
<authentication enabled="false">
<username>admin</username>
<password>admin_pwd</password>
</authentication>
<hosts>
<host>127.0.0.1:9160</host>
</hosts>
其中cluster-name就对应cassandra.yaml中的名称,host对应cassandra.yaml中的端口,authentication目前是false状态。
(6)配置storage位置
打开\resin-pro-4.0.66\webapps\imart\WEB-INF\conf\storage-config.xml
文件,有:
<storage-info>
<root-path-name>D:/storage</root-path-name>
<system-directory-name>system</system-directory-name>
<public-directory-name>public</public-directory-name>
<group-directory-name>groups</group-directory-name>
<configuration-directory-name>conf</configuration-directory-name>
<conpatible-directory-name>public</conpatible-directory-name>
<storage-directory-name>storage</storage-directory-name>
<temporary-directory-name>temp</temporary-directory-name>
</storage-info>
其中root-path-name就是资源文件输出位置,根据实际需要写一个。
(7)启动resin
启动resin.exe
,项目没有报错就启动成功了。
3.imart.war
打开浏览器,访问http://localhost:8080/imart/system/login
页面(resin启动的端口是8080),首次访问,就会出现初始化页面。
官方文档是:
https://document.intra-mart.jp/library/iap/public/setup/iap_setup_guide/texts/tenant/index.html
点击下一步,按照说明进行设置。
システム管理者情報,自定义一个系统管理员账号密码;
テナント情報,租户情报,注意这个比较坑,テナントID
写项目里配置的tenant-id
,没有的话就写default
,不能瞎写;
テナント管理者情報,租户管理员,自定义一个租户管理员账号密码;
Cassandra接続情報,填自己本地的,可以点击按钮测试链接;
注意クラスタ名是上面配置的那个(imart),キースペース是keyspace命名空间(default),链接默认就是本地9160端口,如果没有账号密码就去掉对钩不设置。
其他的可以保持默认,一直下一步,最后就会开始安装环境,自动初始化数据库。
四、登录本地项目
上方安装完毕后,访问http://localhost:8080/imart/login
,就是登录界面,输入租户管理员账号密码进行登录;
再次访问http://localhost:8080/imart/system/login
,就会变成管理员登录界面,输入系统管理员账号密码进行登录。
五、备注
postgresql数据库,安装时只设置了密码,账号默认就是postgres;
安装完毕后,打开pgAdmin 4,链接到postgresql数据库,可以创建其他账号,与创建数据库。(本文需要创建名称为imart的数据库。)