Java 车间间代码部署工作流

Java 车间间代码部署工作流,java,intershop,Java,Intershop,我不确定这是否是一个有效的问题,但在您需要停止应用程序服务器、运行gradlew publish、gradlew DeployCarries然后启动应用程序服务器之前,代码更改的最少量是多少 我不清楚我能在多大程度上修改代码。 首选的开发工作流程是什么?对于代码更改,您指的是Java代码? 在开发模式中,您可以启用pipelet代码的重新加载。Intershop为此提供了一个特殊的类加载器 如果修改任何其他类,则需要重新启动服务器,除非使用JRebel或其他可以检测代码修改的类加载器 当然,您必

我不确定这是否是一个有效的问题,但在您需要停止应用程序服务器、运行gradlew publish、gradlew DeployCarries然后启动应用程序服务器之前,代码更改的最少量是多少

我不清楚我能在多大程度上修改代码。
首选的开发工作流程是什么?

对于代码更改,您指的是Java代码? 在开发模式中,您可以启用pipelet代码的重新加载。Intershop为此提供了一个特殊的类加载器

如果修改任何其他类,则需要重新启动服务器,除非使用JRebel或其他可以检测代码修改的类加载器

当然,您必须使用gradlew publish编译所有这些代码。 如果在配置框架中进行了更改,还需要重新启动服务器


在开发过程中,您不需要gradlew deployCartridges进行代码更改,因为服务器正在从您的项目目录中读取代码。

对于代码更改,您指的是Java代码? 在开发模式中,您可以启用pipelet代码的重新加载。Intershop为此提供了一个特殊的类加载器

如果修改任何其他类,则需要重新启动服务器,除非使用JRebel或其他可以检测代码修改的类加载器

当然,您必须使用gradlew publish编译所有这些代码。 如果在配置框架中进行了更改,还需要重新启动服务器


在开发过程中,您不需要gradlew deployCartridges进行代码更改,因为服务器正在从您的项目目录中读取代码。

首先,确保已正确配置intershop以重新加载代码。您应该设置以下设置:

# switch auto reload on for all Intershop artifacts
intershop.extensions.CheckSource=true
intershop.queries.CheckSource=true
intershop.pipelines.CheckSource=true
intershop.pagelets.CheckSource=true
intershop.webforms.CheckSource=true
intershop.template.CheckSource=true
intershop.template.CheckSourceModified=true
intershop.template.CompileOnStartup=false
intershop.template.PrintTemplateName=true
intershop.template.PrintTemplateMarker=true
intershop.template.isfilebundle.CheckSource=true
intershop.localization.CheckContent=true

#let intershop run on all cpu cores
intershop.cpu.id=

#dont let session timeout so quickly
intershop.session.TimeOut=60

# switch all preload functionality off
intershop.pipelines.PreloadFromCartridges=
intershop.pipelines.PreloadFromSites=
intershop.pipelets.PreloadFromCartridges=
intershop.webforms.Preload=false
intershop.queries.Preload=false

# Monitor the urlrewrite.properties files for modifications
# and refresh when needed.
intershop.urlrewrite.CheckSource=true

# The time interval in seconds, after which a lookup should be performed
# if CheckSource is "true". 0 means every time (not recommended).
intershop.urlrewrite.CheckSourceInterval=5
这些设置通常位于eserver/server/share/system/config/cluster下的development.properties文件中

还要确保您的环境设置为“开发”。文件eserver/server/share/system/config/cluster/environment.properties应配置以下内容:environment=development。此设置使intershop在development.properties文件中加载您的设置

禁用SMC中的页面缓存,包括此处缓存的SLDSystem URL重写。我陷入了这个陷阱,我不愿意承认

使用此设置,您只需编辑/保存和刷新isml/pipelines/pagelet、查询文件、webforms、文件包、URL重写和本地化标签的浏览器即可。基本上不是java的一切。说到java,事情变得有点复杂

对于一个简单的pipelet,您可以运行gradlew publish,它应该重新加载。但是,它不会重新加载它所依赖的已修改的其他类。有时候它根本不会重新加载,我不得不承认,我不知道为什么会发生这种情况。对于组件框架中的新管道和更改,您始终需要编译/重新启动intershop


就像Rainer提到的那样,Jrebel可以重新加载普通java类,我也强烈推荐它。但是,您需要此许可证

首先,确保已正确配置intershop以重新加载代码。您应该设置以下设置:

# switch auto reload on for all Intershop artifacts
intershop.extensions.CheckSource=true
intershop.queries.CheckSource=true
intershop.pipelines.CheckSource=true
intershop.pagelets.CheckSource=true
intershop.webforms.CheckSource=true
intershop.template.CheckSource=true
intershop.template.CheckSourceModified=true
intershop.template.CompileOnStartup=false
intershop.template.PrintTemplateName=true
intershop.template.PrintTemplateMarker=true
intershop.template.isfilebundle.CheckSource=true
intershop.localization.CheckContent=true

#let intershop run on all cpu cores
intershop.cpu.id=

#dont let session timeout so quickly
intershop.session.TimeOut=60

# switch all preload functionality off
intershop.pipelines.PreloadFromCartridges=
intershop.pipelines.PreloadFromSites=
intershop.pipelets.PreloadFromCartridges=
intershop.webforms.Preload=false
intershop.queries.Preload=false

# Monitor the urlrewrite.properties files for modifications
# and refresh when needed.
intershop.urlrewrite.CheckSource=true

# The time interval in seconds, after which a lookup should be performed
# if CheckSource is "true". 0 means every time (not recommended).
intershop.urlrewrite.CheckSourceInterval=5
这些设置通常位于eserver/server/share/system/config/cluster下的development.properties文件中

还要确保您的环境设置为“开发”。文件eserver/server/share/system/config/cluster/environment.properties应配置以下内容:environment=development。此设置使intershop在development.properties文件中加载您的设置

禁用SMC中的页面缓存,包括此处缓存的SLDSystem URL重写。我陷入了这个陷阱,我不愿意承认

使用此设置,您只需编辑/保存和刷新isml/pipelines/pagelet、查询文件、webforms、文件包、URL重写和本地化标签的浏览器即可。基本上不是java的一切。说到java,事情变得有点复杂

对于一个简单的pipelet,您可以运行gradlew publish,它应该重新加载。但是,它不会重新加载它所依赖的已修改的其他类。有时候它根本不会重新加载,我不得不承认,我不知道为什么会发生这种情况。对于组件框架中的新管道和更改,您始终需要编译/重新启动intershop


就像Rainer提到的那样,Jrebel可以重新加载普通java类,我也强烈推荐它。但是,您需要此许可证

毫无疑问,一个有效的问题毫无疑问,一个有效的问题