问题标签 [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 存储图像,但无法在生产中存储在 CATALINA_HOME 之外
我正在使用 Grails 2.5.6 将上传的图像存储到服务器上的文件夹中。
以下是我存储图像的代码
我在开发(MacOSX High Sierra)上运行没有问题但是当我在生产(Ubuntu 14.04 服务器)上部署时,我无法将文件保存在 CATALINA_HOME 目录之外。
我已经检查了目标目录的权限和所有权,但仍然创建了目录,但从未存储过文件。
例如,我尝试将文件存储在 /home/tomcat/ 目录中(/home 目录与存储它 /var 的 tomcat 位于单独的分区中),创建了该目录,但从未存储该文件。
当我将目标目录放在 CATALINA_HOME 文件夹中时,一切正常。但这不是我想要做的场景。
grails - grails 应用程序中未定义的配置值
我们成功地在 grails 中使用外部化配置从配置文件中检索所有需要的值。最近它“随机”发生在我们身上,配置中的值在重新启动后没有在应用程序中定义。尽管在应用程序启动时解析配置(日志条目)。
有没有人有这个问题的经验?我们的配置文件目前包含大约 5500 行。
exception-handling - GRAILS-2.5 处理外部配置的语法错误
我有使用 Grails 2.5 开发的应用程序。
在“Config.groovy”文件中,我包含了这样的外部配置文件:
在“app_configuration.groovy”文件中,我拥有所有应用程序级别的配置。
我的问题是如何在服务器加载此配置文件时捕获“语法错误”,例如:
如果我有类似的配置
如果它有语法错误,比如
请注意,上面它错过了双引号和结束括号,在这种情况下,服务器将不会加载所有配置。
如果有人知道如何捕获异常并使用更正的配置重新加载配置。
grails - Grails 2 和 Grails 3 从其他类调用私有方法
我在 grails 2.5.4 和 grails 3.3.2/3/4 中观察到一种奇怪的行为。
我觉得和面临的问题是它们允许一个类调用另一个类的私有方法,并且一直持续到最新版本的 grails。
但是我发现唯一的区别是,在 grails 2.5.4 中,它能够检测到注入到被调用类中的所有依赖项,而在 grails 3.3.x 中没有注入依赖项,这是正确的,但不应在类外部调用整体私有方法按照java
grails - 运行集成测试时不存在 Grails 动态方法
我正在使用 Grails 2.5.4 开发一个项目,目前正在尝试运行一些未运行的集成测试。我已经调试了这个问题,发现在集成测试中运行时,要测试的服务上的一些动态方法显然不存在(如果你在应用程序的上下文中运行,方法就在那里并且一切正常)。这发生在我尝试运行的许多测试中,我选择了一个作为示例,但其他失败的测试也有同样的问题。
我有这个域类
和要测试的服务方法:
那么我运行这个 spock 测试
它在 BundleService 的moveEvent.addToBundles(Bundle.get(id))行中失败,但有以下异常
问题是由于 hasMany 集合“bundles”而应该由 Grails 动态添加到 Event 类的方法 addToBundles() 没有添加。正如我所提到的,如果您运行应用程序并使用此服务,那么方法就在那里,一切正常。
我尝试更改测试的基类(从 Specification 到 IntegrationSpec),因为我相信这里是管理动态功能以及事务管理和其他用于集成测试的东西的地方,但它没有奏效。
是否有任何理由为什么服务中应该存在的这种方法在集成测试的上下文中不存在?谢谢
inheritance - 域到域继承
我无法将属性添加到约束,也无法映射到已扩展我新创建的域的域。
关于如何正确执行此操作的任何想法?
我有一个错误
消息:ORA-00904:“THIS_”。“CLASS”:无效标识符
grails - 无法覆盖 AuthenticationSuccessHandler 的 onAuthenticationSuccess 方法
在其他一些帖子之后,我尝试覆盖 spring-security 处理程序的身份验证成功方法,但它从未被调用。我的代码如下所示:
src/groovy/mypackage/MyAuthenticationSuccessHandler.groovy
:
资源.groovy:
没有错误,构造函数肯定被调用并被MyAuthenticationSuccessHandler
注入测试控制器,但从onAuthenticationSuccess
未被调用。我在超类版本中放置了一个断点,并且有效。我也尝试用 java 重写我的自定义类,但这没有用。
我究竟做错了什么?
java - 连接未释放回 tomcat jdbc 池
我有一个基于 grails2 的应用程序,它正在使用 tomcat jdbc 池,最近我遇到了池中所有连接都用完的问题,我开始得到:-
我有一些需要大量连接的查询和一些执行大约 2-3 分钟的存储过程,因为我手动从数据源 bean 获取连接:-
我已经在标准输出中记录了总的活动连接,我看到没有。活动连接的数量不断上升,并且永远不会下降,然后达到 100,这是允许的总活动连接,然后我开始遇到 poolexhaustauion 问题,谁能给我一个想法,我可能缺少什么或连接在哪里可能会泄漏。这是我的连接详细信息:-
grails - Grails 2.5.6 奇怪的过滤器行为
我有Grails 2.5.6
应用程序正在使用Spring Security Grails plugin
,并且应用程序中有一个过滤器来检查是否存在如果不存在则继续正常运行,如果没有必须转到控制器Country
,操作countryAndCity
,访问过滤器之前的 URL 是https://localhost:8443/MyApp/login/auth
在执行过滤器之后重定向 URL 是http://localhost:8080//countries/countryAndCity
,
是什么在 URL 中造成了这种奇怪的行为?以下是在此阶段执行的 2 个过滤器:
SwitchToHTTPS过滤器:
SetCountryAndCityFirstFilters:
grails - 单独运行时带有子句'in'的集成测试会导致错误
我有一个集成(h2、spock、grails-2.5.5)测试,在 sql(gorm)咨询中运行。当一起运行所有测试“grails test-app”时,此测试工作正常,但是当我单独运行时,测试中断并显示以下错误:
gorm 子句包含 'in'('status', [FINE, WORK, INACTIVATED])
当我单独运行时,测试也很好