在这个周末,我在与dynamodb集成的aws lambda上运行了一些节点函数,我使用x-ray调试它创建我自己的注释,我想知道是否有更好的方法来调试lambda函数类似于逐步执行步?
我正在写一个插件,我正在尝试在插件的根目录或已安装的目录中编写一个文件(不知道该引用什么).我似乎无法弄清楚如何掌握这个价值.执行System.properties['base.dir']将导致实现Grails项目的根目录.所以现在我有两个目录:
C:/ PluginProject /
C:/ GrailsAppThatUsesPlugin /
我的理解是,当它成为分布式插件时,用户同样会有两个目录:
GRAILS_HOME/Grails的版本/项目/项目名称/插件/为myplugin /
C:/ GrailsAppThatUsesPlugin /
在我的插件项目中,我需要创建一个文件.它需要在我的插件中,因为我正在编写的文件需要引用我的插件提供的其他文件.我尝试过的一些没用的东西是:
System.properties['base.dir'] new File("")pluginNamePluginDir但我试图从POGO访问它.System.properties这些都没有插件目录任何帮助是极大的赞赏.
我有一个非常标准的2.0.3 Grails应用程序,我已经执行了grails install-templates在src/templates/scaffolding /目录中放置文件list.gsp,edit.gsp等.对它们进行更改时,不会自动重新加载这些文件.有没有办法让我自动重新加载这些,所以每次做出改变时我都不必停止/启动应用程序?我试过看看watchedResources,但这似乎与插件开发相关.
我有一个我编写的自定义标记库,以便我可以轻松地显示对象的属性.它允许我打电话
<g:property label="Name" property="${user.name}"/>
Run Code Online (Sandbox Code Playgroud)
这使我的观点简短而一致,并允许我快速进行更改.我的taglib代码如下:
def property = {attrs, body ->
def startingHtml = "..."
def endingHtml = "..."
out << startingHtml
renderField(attrs.property)
out << endingHtml
}
def renderField(property) {
if (property instanceof Collection) {
property.each { out << it + "</br>" }
} else if(property instanceof Address){
renderAddress(property)
} else {
out << property
}
}
def renderAddress(address) {
out << "Address Render Logic Here"
}
Run Code Online (Sandbox Code Playgroud)
我试图在这段代码中添加一些单元测试,因为它有逻辑.使用此处的示例(http://grails.org/doc/latest/guide/testing.html#unitTestingTagLibraries),我开始添加一些测试.我的标签当前处理的前两个场景是String和Collection,我能够正确测试(下面的前两个测试).我需要测试的最后一个场景是Address对象(它只是一个带有String属性的POGO).我似乎无法找到一种方法来测试将对象作为属性传递到标记lib中.
@TestFor(PropertyTagLib)
class PropertyTagLibTests {
@Test
void propertyTagShouldRenderPropertyInsideOfTDWhenPropertyIsAString() {
String result …Run Code Online (Sandbox Code Playgroud) 在以前的Jboss版本中,我能够在jboss-log4j.xml中使用以下配置配置SYSLOG appender:
<appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Facility" value="LOCAL7"/>
<param name="FacilityPrinting" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{ABSOLUTE},%c{1}] %m%n"/>
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
现在我已升级到Jboss AS 7,看起来应该进入,$JBOSS_HOME/standalone/configuration/standalone.xml但语法不同.
我的问题是:如何配置Jboss AS 7以使用SYSLOG appender?
这是场景.我的Grails应用程序之外的文件包含url/username/password/etc. 信息使开发人员无法查看生产的连接信息.我通过以下方式将此信息包含在Config.groovy中:
grails.config.locations << "file:" + "C:/directory/from/env/variable/data.properties"
Run Code Online (Sandbox Code Playgroud)
然后我通过以下方式在POGO中访问此信息:
import org.codehaus.groovy.grails.commons.ConfigurationHolder
...
ConfigurationHolder.config.url
ConfigurationHolder.config.userName
ConfigurationHolder.config.password
Run Code Online (Sandbox Code Playgroud)
升级到Grails 2.0后,我注意到不推荐使用ConfigurationHolder.所以我去了文档:(http://grails.org/doc/latest/guide/conf.html)试图弄清楚如何解决它.文档说使用grailsApplication来获取配置值.我的问题是我在POGO中并且GrailsApplication的Grails自动装配不会被调用.我的问题有两个部分:
1)在POGO内部有更好的方法从文件中获取配置信息吗?
2)如果没有更好的方法,我如何将grailsApplication注入POGO?
附加信息:我正在使用Grails GLDAPO插件(http://gldapo.codehaus.org/)与LDAP目录进行交互.我正在尝试使这些对象(我放在/ src/groovy下)与域对象的行为方式相同,因为我可以使用静态方法findBy...(..).使用您建议的模式,我必须通过服务来获取数据.哪个不坏它只是不像Groovy :)
我正在尝试从节点 js lambda 项目中的 SNS 事件中的消息获取内容
这是处理消息的代码
exports.handler = (event, context, callback) => {
var message = event.Records[0].Sns.Message;
console.log('Message received from SNS:', message);
message.Events.forEach(element => {
console.log(element);
});
};
Run Code Online (Sandbox Code Playgroud)
示例事件:
{
"Records":
[
{
"EventSource": "aws:sns",
"EventVersion": "1.0",
"EventSubscriptionArn": "",
"Sns":
{
"Type": "Notification",
"MessageId": "bc86f105-c320",
"TopicArn": "arn:aws:sns:ewerwrewrw",
"Subject": "dwqweq23234",
"Message":
{
"Events":
[
{"EventTimestamp":"2018-03-16T10:51:22Z"},
{"EventTimestamp":"2018-03-16T10:51:22Z"}
],
"EventDocVersion":"2014-08-15"
},
"Timestamp": "2018-03-16T10:51:22.691Z",
"SignatureVersion": "1",
"Signature": "",
"SigningCertUrl": "",
"UnsubscribeUrl": "",
"MessageAttributes": {}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
这是我在 CloudWatch 日志中得到的信息:
从 SNS …
grails ×4
aws-lambda ×2
node.js ×2
amazon-sns ×1
javascript ×1
jboss7.x ×1
log4j ×1
logging ×1
rsyslog ×1
syslog ×1
taglib ×1
unit-testing ×1