小编NiB*_*iBE的帖子

避免在grails中循环引用继承

我有一个用Grails 2.3.8编写的大项目.有时当我使用我的CI部署它时,我得到了以下消息:

由于StackOverflowError,无法完成对Web应用程序[/ ProjectName ## 1152]的注释的扫描.

可能的根本原因包括-Xss的设置太低以及非法循环继承依赖性.正在处理的类层次结构是 [org.bouncycastle.asn1.ASN1EncodableVector-> org.bouncycastle.asn1.DEREncodableVector-> org.bouncycastle.asn1.ASN1EncodableVector]

我已经增加了Xss设置,但很明显,但也许我错了,有一个循环引用:org.bouncycastle.asn1.ASN1EncodableVector-> org.bouncycastle.asn1.DEREncodableVector-> org.bouncycastle.asn1. ASN1EncodableVector

我红了你可以避免检查,我无法删除库因为我需要它.但我不知道如何在Grails中做到这一点.我可以排除他们,但这不是我想要的.

非常感谢任何建议

NIBE

更新 我刚刚解决了这个问题.我删除了buildConfig文件中每个bouncycastle库的痕迹.没有任何依赖或排除痕迹.只需在crypto.2.0中添加插件,一切正常!

grails bouncycastle grails-plugin grails-2.0

7
推荐指数
1
解决办法
7947
查看次数

与树莓派的 GPIO 回调函数共享变量

我在 python 中编写了这个简单的测试程序来检查当我按下 Raspberry Pi 中的按钮时是否发生了什么:

import RPi.GPIO as GPIO
from time import sleep

GPIO.setmode(GPIO.BCM)
GPIO.setup(24, GPIO.IN, pull_up_down = GPIO.PUD_UP)

testVar=0

def my_callback(channel):
  print "Pressed!"
  testVar= 32

GPIO.add_event_detect(24, GPIO.FALLING, callback=my_callback, bouncetime=200)
while True:
    print str(testVar)
    sleep(0.5)
Run Code Online (Sandbox Code Playgroud)

我只读取 0 个值,当我按下按钮时,我看到“按下!” 但变量没有改变。据我了解,原因是回调函数作为新线程被午餐,当然变量无法正确设置。有没有办法以某种方式将共享变量发送到回调函数?

非常感谢任何好的建议。

python gpio raspberry-pi raspberry-pi2

5
推荐指数
1
解决办法
2763
查看次数

如何在开始施药时避免石英启动

我在GRAILS中有一个使用Quartz2插件的简单应用程序.在作业文件中我有:

static triggers = {
    simple repeatCount: 0 // execute job once in 5 seconds
    cron cronExpression: '0 15 2 * * ?'
}

def execute() {
    if (Environment.current == Environment.PRODUCTION)
        do something...
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下一切正常,如果它不在生产中,则忽略触发器.现在问题很简单,如果我在生产中启动应用程序,一旦grails启动就会启动作业.我希望避免在应用程序启动时运行作业,但只有在cronExpression中正确设置时才会运行.

任何的想法?

更新:最后我把这行放在config.groovy中:

environments {
    development {
       grails.logging.jul.usebridge = true
       grails.plugin.quartz2.autoStartup = false
    }
    production {
      grails.logging.jul.usebridge = false
  }  
}
Run Code Online (Sandbox Code Playgroud)

现在似乎没有从引导开始我必须做更多的测试,我告诉你.

谢谢

UPDATE2:好了,现在计划根本没有开始,我期待它开始但不执行预定的作业,但是等待合适的时间来触发它.有帮助吗?

非常感谢

UPDATE3:抱歉,我觉得很蠢,在启动时添加简单的repeatCount:0 fire,所以删除它完美,再次对不起.

grails groovy quartz-scheduler

4
推荐指数
1
解决办法
3681
查看次数

$GOPATH/go.mod 存在但不应该在 AWS Elastic Beanstalk 中

我正在尝试使用 bitbucket 管道和 AWS Elastic Beanstalk 部署基于 gin 框架的 golang 应用程序。我使用在 EB 中部署应用程序所需的所有文件创建了我的包 application.zip,当我通过管道或 AWS 控制台中的手动菜单推送它时,我得到了这些:

17:21:49 make.1 | go: finding github.com/appleboy/gin-jwt v2.5.0+incompatible
  17:21:49 make.1 | go: downloading github.com/appleboy/gin-jwt v2.5.0+incompatible
  17:21:49 make.1 | go: extracting github.com/appleboy/gin-jwt v2.5.0+incompatible
  17:21:50 make.1 | go: finding gopkg.in/dgrijalva/jwt-go.v3 v3.2.0
  17:21:50 make.1 | go: downloading gopkg.in/dgrijalva/jwt-go.v3 v3.2.0
  17:21:50 make.1 | go: extracting gopkg.in/dgrijalva/jwt-go.v3 v3.2.0
  17:21:50 make.1 | + GOOS=linux
  17:21:50 make.1 | + GOARCH=amd64
  17:21:50 make.1 | + go build -o bin/application '-ldflags=-s -w'
  17:21:50 make.1 …
Run Code Online (Sandbox Code Playgroud)

bitbucket go amazon-elastic-beanstalk go-modules

4
推荐指数
2
解决办法
3万
查看次数