mirror of
https://gitee.com/dromara/MaxKey.git
synced 2025-12-06 17:08:29 +08:00
domain
This commit is contained in:
parent
c004cda236
commit
670b2376a0
@ -1,5 +1,5 @@
|
||||
MaxKey v 2.0.0 GA 2020/07/**
|
||||
*(MAXKEY-200601) RBAC 基于角色的访问控制(Role-Based Access Control )支持
|
||||
*(MAXKEY-200601) RBAC 基于角色的访问控制(Role-Based Access Control)支持
|
||||
*(MAXKEY-200602) xml配置改为Spring annotation,提升模块间的组件化
|
||||
*(MAXKEY-200603) 管理MGT界面优化及增加菜单图标,认证Maxkey主题切换支持-黑色经典|薄荷清新|激情紫荆
|
||||
*(MAXKEY-200604) 修复用户组访问权限删除问题
|
||||
@ -15,7 +15,9 @@
|
||||
*(MAXKEY-200614) OAuth2 secret修改后登陆错误修复
|
||||
*(MAXKEY-200615) CAS单点登陆后进行验证空指针的异常处理,原因权限调整
|
||||
*(MAXKEY-200616) LINUX操作系统支持
|
||||
*(MAXKEY-200617) 依赖jar升级,消除非必要依赖
|
||||
*(MAXKEY-200617) 修改测试域名为sso.maxkey.top
|
||||
*(MAXKEY-200618) 修复更新应用时状态问题
|
||||
*(MAXKEY-200619) 依赖jar升级,消除非必要依赖
|
||||
spring 5.2.7.RELEASE
|
||||
springBoot 2.3.1.RELEASE
|
||||
springSecurity 5.3.2.RELEASE
|
||||
|
||||
@ -8,10 +8,10 @@ C:\Windows\System32\drivers\etc
|
||||
</pre>
|
||||
新增如下内容
|
||||
<pre><code class="ini hljs">
|
||||
127.0.0.1 sso.maxkey.org
|
||||
127.0.0.1 tokenbased.demo.maxkey.org
|
||||
127.0.0.1 cas.demo.maxkey.org
|
||||
127.0.0.1 oauth.demo.maxkey.org
|
||||
127.0.0.1 sso.maxkey.top
|
||||
127.0.0.1 tokenbased.demo.maxkey.top
|
||||
127.0.0.1 cas.demo.maxkey.top
|
||||
127.0.0.1 oauth.demo.maxkey.top
|
||||
</code></pre>
|
||||
|
||||
<h2>应用服务启动</h2>
|
||||
@ -42,13 +42,13 @@ start_maxkey_wiki.bat
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td><td>认证平台</td><td><a href="http://sso.maxkey.org/maxkey/login" target="blank">http://sso.maxkey.org/maxkey/login</a></td>
|
||||
<td>1</td><td>认证平台</td><td><a href="http://sso.maxkey.top/maxkey/login" target="blank">http://sso.maxkey.top/maxkey/login</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td><td>管理平台</td><td><a href="http://sso.maxkey.org:9521/maxkey-mgt/login" target="blank">http://sso.maxkey.org:9521/maxkey-mgt/login</a></td>
|
||||
<td>2</td><td>管理平台</td><td><a href="http://sso.maxkey.top:9521/maxkey-mgt/login" target="blank">http://sso.maxkey.top:9521/maxkey-mgt/login</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td><td>集成指南</td><td><a href="http://sso.maxkey.org:8080/wiki" target="blank">http://sso.maxkey.org:8080/wiki</a></td>
|
||||
<td>3</td><td>集成指南</td><td><a href="http://sso.maxkey.top:8080/wiki" target="blank">http://sso.maxkey.top:8080/wiki</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4</td><td>账户密码</td><td>admin/admin</td>
|
||||
|
||||
92
maxkey-dao/src/test/resources/application.properties
Normal file
92
maxkey-dao/src/test/resources/application.properties
Normal file
@ -0,0 +1,92 @@
|
||||
#spring.profiles.active=dev
|
||||
#application
|
||||
application.title=MaxKey
|
||||
application.name=MaxKey
|
||||
application.formatted-version=v2.0.0 GA
|
||||
#server config
|
||||
#spring.profiles.active=dev
|
||||
#server port
|
||||
#server.port=80
|
||||
server.port=443
|
||||
#ssl
|
||||
server.ssl.key-store=maxkeyserver.keystore
|
||||
server.ssl.key-alias=maxkey
|
||||
server.ssl.enabled=true
|
||||
server.ssl.key-store-password=maxkey
|
||||
server.ssl.key-store-type=JKS
|
||||
#web app context path
|
||||
server.servlet.context-path=/maxkey
|
||||
spring.servlet.multipart.enabled=true
|
||||
spring.servlet.multipart.max-file-size=4194304
|
||||
#encoding
|
||||
#server.servlet.encoding.charset=UTF-8
|
||||
#server.servlet.encoding.enabled=true
|
||||
#server.servlet.encoding.force=true
|
||||
#datasource
|
||||
spring.datasource.username=root
|
||||
spring.datasource.password=maxkey
|
||||
spring.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8
|
||||
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
|
||||
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
|
||||
#mybatis
|
||||
mybatis.type-aliases-package=org.maxkey.domain,org.maxkey.domain.apps,
|
||||
mybatis.mapper-locations=classpath*:/org/maxkey/dao/persistence/xml/mysql/*.xml
|
||||
#redis
|
||||
spring.redis.host=127.0.0.1
|
||||
spring.redis.port=6379
|
||||
spring.redis.password=password
|
||||
spring.redis.timeout=10000
|
||||
spring.redis.jedis.pool.max-wait=1000
|
||||
spring.redis.jedis.pool.max-idle=200
|
||||
spring.redis.lettuce.pool.max-active=-1
|
||||
spring.redis.lettuce.pool.min-idle=0
|
||||
#mail
|
||||
spring.mail.default-encoding=utf-8
|
||||
spring.mail.host=smtp.163.com
|
||||
spring.mail.port=465
|
||||
spring.mail.username=maxkey@163.com
|
||||
spring.mail.password=password
|
||||
spring.mail.protocol=smtp
|
||||
spring.mail.properties.ssl=true
|
||||
spring.mail.properties.sender=maxkey@163.com
|
||||
spring.mail.properties.mailotp.message.subject=MaxKey One Time PassWord
|
||||
spring.mail.properties.mailotp.message.template={0} You Token is {1} , it validity in {2} minutes.
|
||||
#for freemarker
|
||||
spring.freemarker.template-loader-path=classpath:/templates/views
|
||||
spring.freemarker.cache=false
|
||||
spring.freemarker.charset=UTF-8
|
||||
spring.freemarker.check-template-location=true
|
||||
spring.freemarker.content-type=text/html
|
||||
spring.freemarker.expose-request-attributes=false
|
||||
spring.freemarker.expose-session-attributes=false
|
||||
spring.freemarker.request-context-attribute=request
|
||||
spring.freemarker.suffix=.ftl
|
||||
#static resources
|
||||
spring.mvc.static-path-pattern=/static/**
|
||||
spring.messages.basename=classpath:messages/message
|
||||
spring.messages.encoding=UTF-8
|
||||
#main
|
||||
spring.main.banner-mode=log
|
||||
spring.main.allow-bean-definition-overriding=true
|
||||
|
||||
###########【Kafka集群】###########
|
||||
spring.kafka.bootstrap-servers=localhost:9092
|
||||
###########【初始化生产者配置】###########
|
||||
# 重试次数
|
||||
spring.kafka.producer.retries=0
|
||||
# 应答级别:多少个分区副本备份完成时向生产者发送ack确认(可选0、1、all/-1)
|
||||
spring.kafka.producer.acks=1
|
||||
# 批量大小
|
||||
spring.kafka.producer.batch-size=16384
|
||||
# 提交延时
|
||||
spring.kafka.producer.properties.linger.ms=0
|
||||
# 当生产端积累的消息达到batch-size或接收到消息linger.ms后,生产者就会将消息提交给kafka
|
||||
# linger.ms为0表示每接收到一条消息就提交给kafka,这时候batch-size其实就没用了
|
||||
|
||||
# 生产端缓冲区大小
|
||||
spring.kafka.producer.buffer-memory = 33554432
|
||||
# Kafka提供的序列化和反序列化类
|
||||
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
|
||||
# 自定义分区器
|
||||
# spring.kafka.producer.properties.partitioner.class=com.felix.kafka.producer.CustomizePartitioner
|
||||
@ -1,29 +0,0 @@
|
||||
############################################################################
|
||||
# DataBase configuration
|
||||
############################################################################
|
||||
#db2,derby,mysql,oracle,postgresql,sqlserver
|
||||
config.datasource.database=mysql
|
||||
# JDBC Driver
|
||||
# for MySql com.mysql.jdbc.Driver
|
||||
# for oracle oracle.jdbc.driver.OracleDriver
|
||||
# for DB2 com.ibm.db2.jdbc.app.DB2Driver
|
||||
# com.ibm.db2.jcc.DB2Driver
|
||||
# for SqlServer com.microsoft.jdbc.sqlserver.SQLServerDriver
|
||||
# for SyBase com.sybase.jdbc.SybDriver
|
||||
# for PostgreSQL org.postgresql.Driver
|
||||
# for Derby org.apache.derby.jdbc.ClientDriver
|
||||
# JDBC URL
|
||||
# you need database hostname,port,databasename
|
||||
# for MySql jdbc:mysql://hostname:port/secdb
|
||||
# for oracle jdbc:oracle:thin:@hostname:port:secdb
|
||||
# for DB2 jdbc:db2://hostname:port/secdb
|
||||
# for SqlServer jdbc:microsoft:sqlserver://hostname:port;DatabaseName=secdb
|
||||
# for SyBase jdbc:sybase:Tds:hostname:port/secdb
|
||||
# for Derby jdbc:derby://localhost:1527/secdb
|
||||
#
|
||||
config.datasource.driverclass=com.mysql.jdbc.Driver
|
||||
config.datasource.url=jdbc:mysql://localhost/maxkey?autoReconnect=true&characterEncoding=UTF-8
|
||||
config.datasource.username=root
|
||||
config.datasource.password=maxkey
|
||||
|
||||
############################################################################
|
||||
218
maxkey-dao/src/test/resources/maxkey.properties
Normal file
218
maxkey-dao/src/test/resources/maxkey.properties
Normal file
@ -0,0 +1,218 @@
|
||||
############################################################################
|
||||
# MaxKey
|
||||
############################################################################
|
||||
# domain name configuration
|
||||
config.server.domain=maxkey.top
|
||||
config.server.domain.sub=sso.${config.server.domain}
|
||||
config.server.name=http://${config.server.domain.sub}
|
||||
config.server.prefix.uri=${config.server.name}/maxkey
|
||||
#default.uri
|
||||
config.server.default.uri=${config.server.prefix.uri}/maxkey/appList
|
||||
config.server.management.uri=${config.server.name}:9521/maxkey-mgt/login
|
||||
#InMemory 0 , jdbc 1, Redis 2
|
||||
config.server.persistence=0
|
||||
#identity
|
||||
config.identity.kafkasupport=false
|
||||
|
||||
config.app.issuer=CN=ConSec,CN=COM,CN=SH
|
||||
############################################################################
|
||||
# Login configuration
|
||||
#enable captcha
|
||||
config.login.captcha=true
|
||||
#text or arithmetic
|
||||
config.login.captcha.type=text
|
||||
#enable two factor,use one time password
|
||||
config.login.mfa=true
|
||||
#TimeBasedOtpAuthn MailOtpAuthn SmsOtpAuthnYunxin SmsOtpAuthnAliyun SmsOtpAuthnTencentCloud
|
||||
config.login.mfa.type=TimeBasedOtpAuthn
|
||||
#enable social sign on
|
||||
config.login.socialsignon=true
|
||||
#social sign on providers
|
||||
config.login.socialsignon.providers=sinaweibo,google,qq,dingtalk,microsoft,facebook
|
||||
#Enable kerberos/SPNEGO
|
||||
config.login.kerberos=true
|
||||
#wsFederation
|
||||
config.login.wsfederation=false
|
||||
#remeberme
|
||||
config.login.remeberme=true
|
||||
#validity
|
||||
config.login.remeberme.validity=0
|
||||
|
||||
#to default application web site
|
||||
config.login.default.uri=appList
|
||||
|
||||
config.ipaddress.whitelist=false
|
||||
|
||||
#SmsOtpAuthnYunxin SmsOtpAuthnAliyun SmsOtpAuthnTencentCloud
|
||||
config.otp.sms=SmsOtpAuthnYunxin
|
||||
|
||||
config.otp.sms.aliyun.accesskeyid=94395d754eb55693043f5d6a2b772ef4
|
||||
config.otp.sms.aliyun.accesssecret=05d5485357bc
|
||||
config.otp.sms.aliyun.templatecode=14860095
|
||||
config.otp.sms.aliyun.signname=maxkey
|
||||
|
||||
config.otp.sms.yunxin.appkey=94395d754eb55693043f5d6a2b772ef4
|
||||
config.otp.sms.yunxin.appsecret=05d5485357bc
|
||||
config.otp.sms.yunxin.templateid=14860095
|
||||
|
||||
config.otp.sms.tencentcloud.secretid=94395d754eb55693043f5d6a2b772ef4
|
||||
config.otp.sms.tencentcloud.secretkey=05d5485357bc
|
||||
config.otp.sms.tencentcloud.smssdkappid=1486220095
|
||||
config.otp.sms.tencentcloud.templateid=14860095
|
||||
config.otp.sms.tencentcloud.sign=1486009522
|
||||
|
||||
config.otp.keyuri.format.type=totp
|
||||
config.otp.keyuri.format.digits=6
|
||||
config.otp.keyuri.format.issuer=MaxKey
|
||||
config.otp.keyuri.format.domain=${config.server.domain}
|
||||
config.otp.keyuri.format.period=30
|
||||
|
||||
############################################################################
|
||||
# Kerberos Login configuration
|
||||
############################################################################
|
||||
#short name of user domain must be in upper case,eg:MAXKEY
|
||||
config.support.kerberos.default.userdomain=MAXKEY
|
||||
#short name of user domain must be in upper case,eg:MAXKEY.ORG
|
||||
config.support.kerberos.default.fulluserdomain=MAXKEY.ORG
|
||||
#last 8Bit crypto for Kerberos web Authentication
|
||||
config.support.kerberos.default.crypto=846KZSzYq56M6d5o
|
||||
#Kerberos Authentication server RUL
|
||||
config.support.kerberos.default.redirecturi=http://sso.maxkey.top/kerberos/authn/
|
||||
############################################################################
|
||||
# HTTPHEADER Login configuration
|
||||
############################################################################
|
||||
config.support.httpheader.enable=false
|
||||
config.support.httpheader.headername=header-user
|
||||
# iv-user is for IBM Security Access Manager
|
||||
#config.httpheader.headername=iv-user
|
||||
|
||||
############################################################################
|
||||
# BASIC Login support configuration
|
||||
############################################################################
|
||||
|
||||
config.support.basic.enable=false
|
||||
|
||||
#############################################################################
|
||||
# WsFederation Login support configuration
|
||||
#identifier: the identifer for the ADFS server
|
||||
#url: the login url for ADFS
|
||||
#principal: the name of the attribute/assertion returned by ADFS that contains the principal's username.
|
||||
#relyingParty: the identifier of the CAS Server as it has been configured in ADFS.
|
||||
#tolerance: (optional) the amount of drift to allow when validating the timestamp on the token. Default: 10000 (ms)
|
||||
#attributeMutator: (optional) a class (defined by you) that can modify the attributes/assertions returned by the ADFS server
|
||||
#signingCertificate: ADFS's signing certificate used to validate the token/assertions issued by ADFS.
|
||||
############################################################################
|
||||
|
||||
config.support.wsfederation.identifier=http://adfs.maxkey.top/adfs/services/trust
|
||||
config.support.wsfederation.url=https://adfs.maxkey.top/adfs/ls/
|
||||
config.support.wsfederation.principal=upn
|
||||
config.support.wsfederation.relyingParty=urn:federation:connsec
|
||||
config.support.wsfederation.signingCertificate=adfs-signing.crt
|
||||
config.support.wsfederation.tolerance=10000
|
||||
config.support.wsfederation.upn.suffix=maxkey.org
|
||||
config.support.wsfederation.logoutUrl=https://adfs.maxkey.top/adfs/ls/?wa=wsignout1.0
|
||||
#############################################################################
|
||||
|
||||
#############################################################################
|
||||
# OIDC V1.0 METADATA configuration
|
||||
config.oidc.metadata.issuer=${config.server.name}/maxkey
|
||||
config.oidc.metadata.authorizationEndpoint=${config.server.name}/maxkey/oauth/v20/authorize
|
||||
config.oidc.metadata.tokenEndpoint=${config.server.name}/maxkey/oauth/v20/token
|
||||
config.oidc.metadata.userinfoEndpoint=${config.server.name}/maxkey/api/connect/userinfo
|
||||
|
||||
#############################################################################
|
||||
# SAML V2.0 configuration
|
||||
#saml common
|
||||
config.saml.v20.max.parser.pool.size=2
|
||||
config.saml.v20.assertion.validity.time.ins.seconds=90
|
||||
config.saml.v20.replay.cache.life.in.millis=14400000
|
||||
config.saml.v20.issue.instant.check.clock.skew.in.seconds=90
|
||||
config.saml.v20.issue.instant.check.validity.time.in.seconds=300
|
||||
|
||||
|
||||
#saml idp keystore
|
||||
config.saml.v20.idp.keystore.password=maxkey
|
||||
config.saml.v20.idp.keystore.private.key.password=maxkey
|
||||
config.saml.v20.idp.keystore=classpath\:config/samlServerKeystore.jks
|
||||
#keystore id for sec
|
||||
config.saml.v20.idp.issuing.entity.id=maxkey.top
|
||||
config.saml.v20.idp.issuer=https://sso.maxkey.top/maxkey/saml
|
||||
|
||||
config.saml.v20.idp.receiver.endpoint=https\://sso.maxkey.top/
|
||||
|
||||
#saml sp keystore
|
||||
config.saml.v20.sp.keystore.password=maxkey
|
||||
config.saml.v20.sp.keystore.private.key.password=maxkey
|
||||
config.saml.v20.sp.keystore=classpath\:config/samlClientKeystore.jks
|
||||
config.saml.v20.sp.issuing.entity.id=client.maxkey.org
|
||||
|
||||
#Saml v20 METADATA
|
||||
config.saml.v20.metadata.orgName=maxkey
|
||||
config.saml.v20.metadata.orgDisplayName=maxkey
|
||||
config.saml.v20.metadata.orgURL=https://github.com/shimingxy/MaxKey
|
||||
config.saml.v20.metadata.contactType=technical
|
||||
config.saml.v20.metadata.company=maxkey
|
||||
config.saml.v20.metadata.givenName=maxkey
|
||||
config.saml.v20.metadata.surName=maxkey
|
||||
config.saml.v20.metadata.emailAddress=shimingxy@163.com
|
||||
config.saml.v20.metadata.telephoneNumber=4008981111
|
||||
|
||||
############################################################################
|
||||
# Social Sign On Configuration #
|
||||
#you config client.id & client.secret only
|
||||
############################################################################
|
||||
|
||||
############################################################################
|
||||
#sina weibo
|
||||
config.socialsignon.sinaweibo.provider=sinaweibo
|
||||
config.socialsignon.sinaweibo.provider.name=\u65B0\u6D6A\u5FAE\u535A
|
||||
config.socialsignon.sinaweibo.icon=images/social/sinaweibo.png
|
||||
config.socialsignon.sinaweibo.client.id=3379757634
|
||||
config.socialsignon.sinaweibo.client.secret=1adfdf9800299037bcab9d1c238664ba
|
||||
config.socialsignon.sinaweibo.account.id=id
|
||||
config.socialsignon.sinaweibo.sortorder=1
|
||||
|
||||
#Google
|
||||
config.socialsignon.google.provider=google
|
||||
config.socialsignon.google.provider.name=Google
|
||||
config.socialsignon.google.icon=images/social/google.png
|
||||
config.socialsignon.google.client.id=519914515488.apps.googleusercontent.com
|
||||
config.socialsignon.google.client.secret=3aTW3Iw7e11QqMnHxciCaXTt
|
||||
config.socialsignon.google.account.id=id
|
||||
config.socialsignon.google.sortorder=2
|
||||
|
||||
#QQ
|
||||
config.socialsignon.qq.provider=qq
|
||||
config.socialsignon.qq.provider.name=QQ
|
||||
config.socialsignon.qq.icon=images/social/qq.png
|
||||
config.socialsignon.qq.client.id=101225363
|
||||
config.socialsignon.qq.client.secret=8577d75e0eb4a91ac549cc8be3371bfd
|
||||
config.socialsignon.qq.account.id=openid
|
||||
config.socialsignon.qq.sortorder=4
|
||||
|
||||
#dingtalk
|
||||
config.socialsignon.dingtalk.provider=dingtalk
|
||||
config.socialsignon.dingtalk.provider.name=dingtalk
|
||||
config.socialsignon.dingtalk.icon=images/social/dingtalk.png
|
||||
config.socialsignon.dingtalk.client.id=dingoawf2jyiwh2uzqnphg
|
||||
config.socialsignon.dingtalk.client.secret=Crm7YJbMKfRlvG2i1SHpg4GHVpqF_oXiEjhmRQyiSiuzNRWpbFh9i0UjDTfhOoN9
|
||||
config.socialsignon.dingtalk.account.id=openid
|
||||
config.socialsignon.dingtalk.sortorder=5
|
||||
|
||||
#Microsoft
|
||||
config.socialsignon.microsoft.provider=microsoft
|
||||
config.socialsignon.microsoft.provider.name=Microsoft
|
||||
config.socialsignon.microsoft.icon=images/social/live.png
|
||||
config.socialsignon.microsoft.client.id=24aa73b6-7928-4e64-bd64-d8682e650f95
|
||||
config.socialsignon.microsoft.client.secret=PF[_AthtjVrtWVO2mNy@CJxY1@Z8FNf5
|
||||
config.socialsignon.microsoft.account.id=id
|
||||
config.socialsignon.microsoft.sortorder=6
|
||||
|
||||
#facebook
|
||||
config.socialsignon.facebook.provider=facebook
|
||||
config.socialsignon.facebook.provider.name=facebook
|
||||
config.socialsignon.facebook.icon=images/social/facebook.png
|
||||
config.socialsignon.facebook.client.id=appKey
|
||||
config.socialsignon.facebook.client.secret=appSecret
|
||||
config.socialsignon.facebook.account.id=id
|
||||
config.socialsignon.facebook.sortorder=7
|
||||
@ -21,9 +21,9 @@
|
||||
<!-- dataSource configuration -->
|
||||
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close" >
|
||||
<!-- <property name="driverClass" value="#{dataSoruceConfig.driverClass}"/> -->
|
||||
<property name="url" value="${config.datasource.url}"/>
|
||||
<property name="username" value="${config.datasource.username}"/>
|
||||
<property name="password" value="${config.datasource.password}"/>
|
||||
<property name="url" value="${spring.datasource.url}"/>
|
||||
<property name="username" value="${spring.datasource.username}"/>
|
||||
<property name="password" value="${spring.datasource.password}"/>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
@ -24,7 +24,7 @@
|
||||
<bean id="propertySourcesPlaceholderConfigurer" class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
|
||||
<property name="locations">
|
||||
<list>
|
||||
<value>classpath:config/applicationConfig.properties</value>
|
||||
<value>classpath:application.properties</value>
|
||||
</list>
|
||||
</property>
|
||||
<property name="ignoreUnresolvablePlaceholders" value="true"/>
|
||||
@ -39,7 +39,43 @@
|
||||
<import resource="applicationContext-database.xml"/>
|
||||
<import resource="applicationContext-persist.xml"/>
|
||||
|
||||
<bean id="kafkaProvisioningService" class="org.maxkey.identity.kafka.KafkaProvisioningService"></bean>
|
||||
|
||||
<bean id="applicationConfig" class="org.maxkey.config.ApplicationConfig"></bean>
|
||||
|
||||
<bean id="emailConfig" class="org.maxkey.config.EmailConfig"></bean>
|
||||
<bean id="characterEncodingConfig" class="org.maxkey.config.CharacterEncodingConfig"></bean>
|
||||
<bean id="loginConfig" class="org.maxkey.config.LoginConfig"></bean>
|
||||
|
||||
<bean id="producerProperties" class="java.util.HashMap">
|
||||
<constructor-arg>
|
||||
<map>
|
||||
<entry key="bootstrap.servers" value="${kafka.producer.bootstrap.servers}" />
|
||||
<!--<entry key="group.id" value="${group.id}" />-->
|
||||
<entry key="retries" value="${kafka.producer.retries}" />
|
||||
<entry key="batch.size" value="${kafka.producer.batch.size}" />
|
||||
<entry key="linger.ms" value="${kafka.producer.linger.ms}" />
|
||||
<entry key="buffer.memory" value="${kafka.producer.buffer.memory}" />
|
||||
<entry key="acks" value="${kafka.producer.acks}" />
|
||||
<entry key="key.serializer" value="${kafka.producer.key.serializer}" />
|
||||
<entry key="value.serializer" value="${kafka.producer.value.serializer}"/>
|
||||
</map>
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
|
||||
<!-- 创建kafkatemplate需要使用的producerfactory bean -->
|
||||
<bean id="producerFactory"
|
||||
class="org.springframework.kafka.core.DefaultKafkaProducerFactory">
|
||||
<constructor-arg>
|
||||
<ref bean="producerProperties" />
|
||||
</constructor-arg>
|
||||
</bean>
|
||||
|
||||
<!-- 创建kafkatemplate bean,使用的时候,只需要注入这个bean,即可使用template的send消息方法 -->
|
||||
<bean id="kafkaTemplate" class="org.springframework.kafka.core.KafkaTemplate">
|
||||
<constructor-arg ref="producerFactory" />
|
||||
<constructor-arg name="autoFlush" value="true" />
|
||||
</bean>
|
||||
<!-- 配置执行的任务列表 -->
|
||||
<util:list id="businessTask" list-class="java.util.ArrayList">
|
||||
|
||||
|
||||
@ -6,11 +6,5 @@
|
||||
<dependent-module deploy-path="../" handle="module:/resource/maxkey-core/maxkey-core">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
<dependent-module deploy-path="../" handle="module:/resource/maxkey-dao/maxkey-dao">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
<dependent-module deploy-path="../" handle="module:/resource/maxkey-client-sdk/maxkey-client-sdk">
|
||||
<dependency-type>uses</dependency-type>
|
||||
</dependent-module>
|
||||
</wb-module>
|
||||
</project-modules>
|
||||
|
||||
@ -9,7 +9,5 @@ dependencies {
|
||||
compile fileTree(dir: '../maxkey-lib/*/', include: '*.jar')
|
||||
|
||||
compile project(":maxkey-core")
|
||||
compile project(":maxkey-dao")
|
||||
compile project(":maxkey-client-sdk")
|
||||
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user