Class utils.functions Extends Ens.Rule.FunctionSet
{
ClassMethod GetSess()
{
s s=%Ensemble("SessionId")
&SQL(Select SourceConfigName into :sess from Ens.MessageHeader where ID=:s)
Quit sess
}
}
#Dim businessHost as Ens.Config.Item = ##class(Ens.Config.Item).%New()
#Dim setting as Ens.Config.Setting = ##class(Ens.Config.Setting).%New()
#Dim production as Ens.Config.Production = ##class(Ens.Config.Production).%OpenId("MyPkg.DemoProduction")
Set setting.Name="WebServiceURL"
Set setting.Value="http://localhost:52773/MyWS/Demo.Test.cls"
Set businessHost.ClassName="MyPkg.Operation.HISWSOperation"
Set businessHost.Name ="HIS web 服务"
Set businessHost.Production = production
Do businessHost.Settings.Insert(setting)
Do production.Items.Insert(businessHost)
Set tsc = production.%Save()
转到文章
请参考文档:Emergency Access
使用此方法重置密码。
转到文章
试试扩展函数,里面使用%Ensemble获取,同时还有%System中可以获取更多系统信息。
再在rule中使用这个扩展函数。
转到文章
既然是再研究,何不试试我们最新的InterSystems IRIS。如果以前研究过Caché 会发现,IRIS 还是同样的架构、同样的开发语言、同样的global存储,只是人机交互更流畅、性能更快,增加更多扩展,机器学习、python、丰富的外部BI工具适配、容器化部署、API管理等等等等,都等着你探索。
要想体验就在社区主页左边,选择下载InterSystems IRIS。
WRC可以说是我们对客户的支持中心,所以只面对我们的客户开放注册。
转到文章
不知道你在哪里找文档找了一个星期,可以直接去docs.intersytems.com,选择你要对应的版本,然后再查找框里输入jdbc url, 比如我在最新的InterSystems IRIS for health 2021.2的文档中查到:
比如:
原文在这里:https://docs.intersystems.com/irisforhealth20212/csp/docbook/DocBook.UI.Page.cls?KEY=BJAVA_connecting#BJAVA_connecting_url
转到文章
我们推荐的高可用性方案是Mirror。也就是配置至少主备两个镜像成员+灾备异步镜像成员,可选配置多个异步报表镜像成员以及多个灾备异步镜像成员。
当然同时推荐的是建立健全的外部备机机制,以及使用外部备份进行恢复的演练,手动升级灾备异步镜像成员为主机的演练。
对于大型应用一般使用ECP创建多台应用服务器,进行多用户的负载分配,再将多台应用服务器连接至数据服务器,数据服务器进行高可用性配置。
转到文章
Production 重启的过程包括了关闭Production和启动Production。
关闭Production的过程需要把所有活动Job中的消息放入队列中,这个过程如果发生在业务量非常大的时候,也就是job非常多,每个job中的待处理消息很多的时候会花费很长时间。
而启动Production的过程会逆向关闭的过程,恢复关闭前的job以及的消息,同样这个时间与关闭production前业务繁忙、队列的大小有关。
当关闭的时间过长,会提示是否需要“强制”关闭production,如果强制关闭,后果就是无法保证恢复关闭production前的业务。
如果想等待或设置较长的等待时间,可以在terminal中执行 Ens.Director 类的StopProduction函数:
ClassMethod StopProduction(pTimeout As %Numeric = 10, pForce As %Boolean = 0) As %Status
第一个参数设置超时时间,第二个参数设置是否强制关闭。
转到文章
不知道你问题里的日志是不是指的journal文件。
没有直接读取journal的方法,只有类似MirrorDejournal的方法对写入异步镜像成员的journal进行操作,
比如将内容写入到你自己的一个数据global中。
在写journal的同时将journal中记录的内容存放在另一个地方。
具体做法可以参考社区里的另一篇文章:CDC系列之一 :使用Dejournal Filter在InterSystems IRIS/Caché上通过Mirroring实现CDC功能
对于较早版本还没有镜像Mirror的配置,则可以使用Shadow服务器的Dejournaling filter routine。
可以参考:CDC系列之二 :使用Dejournaling filter routine在Caché上通过Shadow实现CDC
转到文章
IRIS 没有默认的删除备份文件的任务。
你可以通过命令$zf(-100)或者%File下面的Delete方法实现通过ObjectScript删除磁盘文件的操作,再将代码添加入定时任务中实现定时删除。
同时注意,不建议在生产环境将IRIS自带的在线备份工具作为灾备恢复使用,因为该工具仅仅备份 IRIS.Dat 中的内容,而这些内容对于灾难恢复是不够的。
推荐使用外部备份的方式进行备份,详细内容参见(https://docs.intersystems.com/irisforhealthlatest/csp/docbook/DocBook.UI...)
转到文章
可以通过Ens.Config.Production 的 %OpenId 方法打开现有的Production,
新建一个Ens.Config.Item的对象,该对象对应于Production界面中的各个组件(BusinessHost)
再使用production.Items.Insert方法将该Item对象插入到现有Production中,就可实现使用代码的方式创建Production 的 BusinessHost。
同时可以通过创建Ens.Config.Setting的实例以及设置相关属性的方式,对创建的BusinessHost中的配置在代码中进行设定,比如设定加载BO的URL、凭据等。
转到文章