嗨,我试图找出如何使用Ansible设置环境变量.
像这样的简单shell命令的东西:
EXPORT LC_ALL=C
Run Code Online (Sandbox Code Playgroud)
尝试作为shell命令,并尝试使用环境模块,并没有发生任何事情.
我错过了什么
我正在使用Spring开发一个网站,并且我正在尝试提供不是.jsp文件的资源(例如.html)
现在我已经注释掉了我的servlet配置的这一部分
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/" p:suffix=".jsp" />
Run Code Online (Sandbox Code Playgroud)
并试图从控制器返回资源的完整路径.
@Controller
public class LandingPageController {
protected static Logger logger = Logger.getLogger(LandingPageController.class);
@RequestMapping({"/","/home"})
public String showHomePage(Map<String, Object> model) {
return "/WEB-INF/jsp/index.html";
}
}
Run Code Online (Sandbox Code Playgroud)
index.html文件存在于该文件夹中.
注意:当我将index.html更改为index.jsp时,我的服务器现在正确地提供页面.
谢谢.
我有一个maven作为构建工具的应用程序.
我正在使用maven配置文件来设置不同配置文件的不同属性.
我想要做的是maven中的所有活动配置文件也将被移植到spring active配置文件中,所以我可以在bean signature(@profile)中引用它们.但我不知道该怎么做.
例如:考虑以下maven设置
<profiles>
<profile>
<id>profile1</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
</properties>
</profile>
<profile>
<id>profile2</id>
<properties>
</properties>
</profile>
<profile>
<id>development</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
</properties>
</profile>
</profiles>
Run Code Online (Sandbox Code Playgroud)
假设我运行maven而没有指定我希望Spring拥有的任何其他配置文件profile1以及 development作为活动配置文件.
我在我的网络应用程序中使用延迟加载与hibernate.
我想在服务器响应的解析阶段从数据库加载一些对象
Run Code Online (Sandbox Code Playgroud)@Component public class DesignSerializer extends JsonSerializer<Design> { @Autowired IDesignService designService; <-- is null}
这是完全可以理解的,因为DesignSerializer每个对象都使用"new"运算符进行实例化.
我确信有一种方法可以在创建时将bean注入该序列化程序,我只是不知道如何.
你们能帮助我或指出我正确的方向吗?
有没有办法让kubernetes尽可能地分发pods?我对所有部署和全局请求以及HPA都有"请求".所有节点都是一样的.
刚出现我的ASG缩小节点并且一个服务完全不可用的情况,因为所有4个pod都在缩小的同一节点上.
我想维护一种情况,即每个部署必须在至少2个节点上扩展其容器.
我在我的应用程序中使用freemarker模板
在将我的应用程序部署到jar文件之前,我需要做的就是加载我的模板: cfg.setDirectoryForTemplateLoading(new File("templates"));
其中加载了我在项目中创建的模板文件夹中的所有模板.
现在,在转移到maven并将我的应用程序部署到可执行jar之后.应用程序无法再找到此文件夹(我已在.jar文件中检查,并且"templates"文件夹已部署在根目录中)
我已经尝试过我所知道的一切,但没有运气.
我现在应该如何加载我的所有模板?(我假设如果我将文件夹放在.jar文件之外但在同一目录中它将起作用.但这不是我想要的.)
谢谢.
我正在使用云形成来创建包含RDS实例的设置.
由于以下错误,我在创建RDS实例时遇到一些困难:
数据库子网组不符合可用区域覆盖要求.请添加子网以覆盖至少2个可用区域.目前的报道:1
问题是整个设置都在一个AZ上......我该怎么做?只是在不同的AZ中创建一个额外的子网,其中没有任何内容只适用于RDS?
也许AWS可以通过某种方式自动创建该子网,让我摆脱困境.我不想要那个额外的子网,我不想让我的用户为此选择另一个AZ负担.
我正在使用PlayFramework 2.4.6,尝试上传多部分文件(大小为18M),服务器返回以下错误:
For request 'POST /api/myEndpoint' [Request Entity Too Large]
Run Code Online (Sandbox Code Playgroud)
我环顾四周,尝试了下面的成功:
而且他们都没有解决问题.
这是Stacktrace:
Run Code Online (Sandbox Code Playgroud)14:57:33.128 [New I/O worker #2] [error] - p.c.server.netty.RequestBodyHandler - Exception caught in RequestBodyHandler java.nio.channels.ClosedChannelException: null at org.jboss.netty.channel.socket.nio.AbstractNioWorker.setInterestOps(AbstractNioWorker.java:506) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioWorker$1.run(AbstractNioWorker.java:455) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.ChannelRunnableWrapper.run(ChannelRunnableWrapper.java:40) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89) [netty-3.10.4.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.10.4.Final.jar:na] at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.10.4.Final.jar:na] at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [netty-3.10.4.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_65] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_65] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_65]
我想为同一个GET路径提供多个功能.
当且仅当查询参数与URL字符串中的参数匹配时,我希望我的Web服务"找到"这些函数.
例如:
我有 Path("/myGET")
对于那条路,我想有两个功能:
Run Code Online (Sandbox Code Playgroud)@GET @Produces(MediaType.APPLICATION_JSON) @TypeHint(TagSets.class) public Response getTagSets(@QueryParam("entityId") Integer entityId) { ... }
和
Run Code Online (Sandbox Code Playgroud)@GET @Produces(MediaType.APPLICATION_JSON) @TypeHint(TagSets.class) public Response getTagSets(){ ... }
现在我收到一个错误:
严重:已使用资源和/或提供程序类检测到以下错误和警告:严重:生成媒体类型冲突.资源方法public javax.ws.rs.core.Response <...>.getTagSets(java.lang.Integer)和public javax.ws.rs.core.Response <...>.getTagSets(java.lang. Integer,java.lang.Integer)可以生成相同的媒体类型SEVERE:生成媒体类型冲突.资源方法public javax.ws.rs.core.Response <...>.getTagSets()和public javax.ws.rs.core.Response <...>.getTagSets(java.lang.Integer,java.lang .Integer)可以生成相同的媒体类型
首先:有没有办法实现我想做的事情..
第二:如果这是可用的,当且仅当查询参数与函数中请求的内容完全匹配时,是否有任何方式可以找到路径?例如,如果将调用相同的路径@QueryParam("differentParam"),它将不会到达任何2个函数.
第三:如果泽西没有办法做到这一点,有没有办法与其他框架工作一起做?
重要提示:回答这个问题的人认为我正在寻找一种解决方案而不是解决方案.今天我正在使用1个函数并检查参数并调用我需要的东西(这是我在发布问题之前使用的).但我正在寻找的可能是使用框架的力量来拯救我的麻烦
谢谢.
我试图用EC2s用户数据设置环境变量,但我没做什么似乎工作
这是我试过的用户数据脚本
Run Code Online (Sandbox Code Playgroud)#!/bin/bash echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-23235232.us-east-1.elb.amazonaws.com" >> /env.sh source /env.sh
而另一个:
Run Code Online (Sandbox Code Playgroud)#!/bin/bash echo "#!/bin/bash" >> /env.sh echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-67323523.us-east-1.elb.amazonaws.com" >> /env.sh chmod +x /env.sh /env.sh
他们都绝对没有,如果我登录并发出命令source /env.sh或/env.sh它的工作原理.所以这一定是我要做的事情是禁止的.
这是/var/log/cloud-init-output.log使用-e -x 的输出
Run Code Online (Sandbox Code Playgroud)+ echo 'export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709021.us-east-1.elb.amazonaws.com' + source /env.sh ++ export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709022.us-east-1.elb.amazonaws.com ++ HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709022.us-east-1.elb.amazonaws.com
仍然echo $HOST_URL是空的
根据要求,完整的UserData脚本
Run Code Online (Sandbox Code Playgroud)#!/bin/bash set -e -x echo "export HOST_URL=checkEmai-LoadBala-ICHJ82KG5C7P-2141709021.us-east-1.elb.amazonaws.com" >> /env.sh source /env.sh /startup.sh staging 2649
java ×4
spring ×4
spring-mvc ×3
linux ×2
maven ×2
amazon-ec2 ×1
amazon-rds ×1
ansible ×1
bash ×1
freemarker ×1
jackson ×1
jax-rs ×1
jersey ×1
kubernetes ×1
netty ×1
rest ×1