小编Jar*_*son的帖子

如何调试aws lambda函数?

在这个周末,我在与dynamodb集成的aws lambda上运行了一些节点函数,我使用x-ray调试它创建我自己的注释,我想知道是否有更好的方法来调试lambda函数类似于逐步执行步?

amazon-web-services node.js amazon-dynamodb aws-lambda

11
推荐指数
3
解决办法
1万
查看次数

Grails插件获取插件的根目录或已安装的目录

我正在写一个插件,我正在尝试在插件的根目录或已安装的目录中编写一个文件(不知道该引用什么).我似乎无法弄清楚如何掌握这个价值.执行System.properties['base.dir']将导致实现Grails项目的根目录.所以现在我有两个目录:

C:/ PluginProject /

C:/ GrailsAppThatUsesPlugin /

我的理解是,当它成为分布式插件时,用户同样会有两个目录:

GRAILS_HOME/Grails的版本/项目/项目名称/插件/为myplugin /

C:/ GrailsAppThatUsesPlugin /

在我的插件项目中,我需要创建一个文件.它需要在我的插件中,因为我正在编写的文件需要引用我的插件提供的其他文件.我尝试过的一些没用的东西是:

  1. System.properties['base.dir']
  2. new File("")
  3. 在插件中的一个groovy脚本中,您可以简单地参考,pluginNamePluginDir但我试图从POGO访问它.
  4. 看着所有System.properties这些都没有插件目录
  5. grailsApplication似乎也不包含此类信息.

任何帮助是极大的赞赏.

grails grails-plugin

6
推荐指数
2
解决办法
2076
查看次数

自动重新加载模板文件

我有一个非常标准的2.0.3 Grails应用程序,我已经执行了grails install-templates在src/templates/scaffolding /目录中放置文件list.gsp,edit.gsp等.对它们进行更改时,不会自动重新加载这些文件.有没有办法让我自动重新加载这些,所以每次做出改变时我都不必停止/启动应用程序?我试过看看watchedResources,但这似乎与插件开发相关.

grails

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

Grails 2.0单元测试自定义标签库

我有一个我编写的自定义标记库,以便我可以轻松地显示对象的属性.它允许我打电话

<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)

grails unit-testing taglib

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

JBoss AS 7配置了对Syslog Appender的日志记录

在以前的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?

logging log4j syslog rsyslog jboss7.x

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

Grails 2.0使用POGO中外部文件的配置值

这是场景.我的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 :)

grails grails-config

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

node js无法处理sns事件消息内容

我正在尝试从节点 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 …

javascript node.js amazon-sns aws-lambda

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