问题标签 [grails-2.5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails 2.5.1 应用程序偶尔丢失上下文根
我们有一些应用程序部署到同一个 tomcat 服务器上(目前正在升级到 grails 3,所以这可能是未来几个月的 OBE,但它已经困扰我们很长时间了)并且其中两个应用程序偶尔会失去它们的相对上下文根路径。
假设我们有“app1”和“app2”部署到server:port/app1
和server:port/app2
。
app1 工作得很好,但 app2 有时(大约 20% 的时间,可能)会部署,并且所有<g:link/>
链接(或任何其他生成的链接,例如资产位置)相对于服务器根目录生成......应用程序正确部署在/app2
,因此链接指向错误的位置。
例如,<g:link controller='hello' action='index'/>
将生成链接/hello/index
而不是/app2/hello/index
.
我不知道要发布的相关代码是什么,我们已经将它与我们的其他应用程序进行了比较,并且在表现出这种行为的两个应用程序中没有发现任何明显的不同。但只有这两个(十几个)应用程序会以这种方式中断。
任何关于可能导致此问题或在哪里查看的想法将不胜感激。
编辑:正在使用的插件:
rest - Grails:如何在 UrlMappings 中为整个组设置参数
我们的 Grails 2.5 Web 应用程序具有 REST API。
我们需要启动 API 的新版本,因此创建了一个组,UrlMappings.groovy
如下所示:
问题是该参数apiVersion
未params
在控制器操作中定义。
如果在每个资源中定义了该参数,则该参数已正确设置,如下所示:
如何在组级别正确定义参数?
grails - grails 2.5.6 执行脚本 RunApp 时出错
应用程序从 grails 2.0.4 升级到 2.5.6
运行grails war
orgrails run-app
时,它会失败并显示一条消息
grails compile
工作正常。grails clean
并且clean-all
没有效果。删除 scriptCache 甚至整个%HOME%\.grails
目录都没有效果。
在主应用程序中遇到错误后,新的 helloworld 应用程序在同一环境中编译并运行得很好。
我知道插件改变了。进口或其他配置上是否有可能影响这一点的东西?
下面的堆栈跟踪
grails - 使用基于 angular-template-asset-pipeline 的自定义 AssetFile 时 Grails 战争打包错误
在 Grails 2.5.6 项目中,我无法为 Angular 模板处理编写自定义资产管道 AssetFile / Processor 对。更具体地说,当我在开发模式下运行时它可以工作(grails run-app
),但在打包时失败(grails war
)。
新的 AssetFile 是对 angular-template-asset-pipeline 2.2.7 的简单定制(我需要使用仅在新版本插件上添加的新参数,仅适用于 Grails 3)。
供参考,以下是文件:
- AngularTemplateAssetFile:https ://ideone.com/eyuJVi (在 src/groovy 上)
- asset.specs:https ://ideone.com/iGuUJv (在 web-app/META-INF/asset-pipeline/asset.specs 上)
我将以下代码放在 Bootstrap.groovy 上:
在 _Events.groovy 上:
在grails run-app
处理器上被正确调用,角度模板被处理并注入页面。上grails run-war
,我收到以下错误:
该消息仅包含类名,我无法弄清楚在构建战争时如何调试应用程序。
使用的版本:
- 圣杯 2.5.6
- 资产管道:2.6.7
angular-template-asset-pipeline
用作我 fork 基础的原始版本:2.2.7
hibernate - Left-Join 的条件不会加载所有的 has-many 关联
我们有一个带有hibernate4:4.3.8.1
插件的 grails 2.5.5 应用程序。
当我们使用条件 API 和左连接查询具有 has-many 关系的域时,gorm 不会加载所有 has-many 关联。
例子:
测试数据:
当我们使用内部连接查询结果时,它会按预期工作并加载用户的所有角色:
但是当使用左连接查询时,用户结果只包含查询的“Role1”。未加载“角色 2”。
有没有人知道为什么会这样?
注意:此代码仅在角色之前未正确加载时才会中断。这就是我withNewSession
在这个例子中使用的原因。
arrays - Groovy/Grails - Modify dynamic array based on content
I have an array, which I get from a web service so it's always different but looks like this:
Don't mind the date "formats" used, I'm writing it like that to simplify this question. What I'm trying to do is filter this array by type but also when there's occurrences where there's a fullweek, midweek and weekend that all occur across the same week and have the same type it should remove the midweek and weekend and give the fullweek a property called splittable set to true. So the above example will end up looking like this:
Here's what I've tried:
So as you can see, what I've tried is a mess and is probably not even that efficient but it works to remove the midweeks and weekends if there's a fullweek but it doesn't apply the splittable property. If anyone can provide me a way to get this done as simply as possible. Let me know if I need to supply more information.
grails - Grails CreateCriteria Select disitinct over from Table
我将 grails 2.5.6 与 IntelliJ IDEA 2017.2.4 一起使用
我的标准有问题
我怎样才能写出这本书的投影
正常标准使用以下命令创建 SQL:
SELECT DISTINCT * FROM book AS b INNER JOIN ....
但我需要这样的 SQL:
SELECT DISTINCT b.* FROM book AS b
如何在 createCriteria 中实现这个投影?或者我应该使用带有条件的子选择?
(我不想使用 HQL)
谢谢,马文
我的课程:
grails - Grails log4j Appender 不工作
我使用 Grails 2.5.6 并尝试创建 2 个不同的附加程序。
第一个 appender 应该记录所有错误。
第二个附加程序应该记录所有信息。
我创建了附加程序,但它仍然无法正常工作。
(日志文件已正确创建)
感谢帮助。
multithreading - Grails 2.5:复杂的“findOrCreate”和线程之间的同步(HTTP 会话)
在 Grails 应用程序中,我们有一个接口,它接受从单个请求中的参数创建的类似路径的 3 级结构,例如
对象level2
引用level1
和document
引用level2
。
使用相同 level1/level2 子路径的多个对象可以并行上传,因此需要实现会话之间的同步。每个帐户都可以有自己的结构。
本质上,逻辑就像一个高级的 findOrCreate ,必须在多个并发请求之间进行同步。
我的想法是在服务方法中实现这样的东西:
我曾经withNewTransaction
确保在同步部分结束之前保存记录,以确保相同的结构只正确创建一次,用于并行上传。
但是,直到线程 T1 中运行的服务功能完成,数据才会持久化。这导致由(A)标记的查询在线程T2中返回null,该线程被同步块阻塞并在T1完成执行服务方法之前进入它。这导致了这样的结构:
代替
我的假设是,在 (B) 结束时withNewTransaction
数据将被持久化,然后并行会话,在 T2 中运行将使用查询获取数据。
然而,这不会发生。
我错过了什么?
编辑:在开始时清除会话并在同步部分结束时刷新无效。
编辑 2:Hibernate 3.6 与 Grails 一起使用。这可能是问题的根源吗?
grails - 我可以在运行时覆盖 grails.env
Grails 似乎为每个环境构建了人工制品。
使用命令“grails -Dgrails.env=test war
我可以以编程方式覆盖运行环境吗?
这里的问题是我们使用生产环境配置生成战争文件。但我想在其他环境中运行相同的 war 文件,如测试、暂存、DR 等。
有两种选择: 1. 在命令行中设置 grails.env 2. 在代码中以编程方式设置当前环境。
我想知道如何实现选项2。我们的部署脚本是共享的,而不是特定于 grails 的。在命令行中传递了一个名为 SYSTEM 的通用环境变量。如果我可以将该环境映射到代码中的 grails.env,那将是个好主意。