上次我们看Actor消息机制,我们看到开火-忘记型消息发出(意思是我们只要发个消息给Actor但是不期望有响应). 技术上来讲, 我们发消息给Actors就是要它的副作用. 这就是这么设计的.除了不响应, 目标Actor当然也可以对消息做以下事情- 1.发送一个响应给发送者(在我们的case里,TeacherActor应该响应一首名言给StudentActor) 2.转发一个响应给其他的潜在的受众Actor,他们也可能响应/转发/产生副作用.Routers(路由)和Supervisors(监管)…
失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ACTOR SUPERVISION 想象一个方法调用了你栈顶的方法但却出了一个异常.那么在栈下的方法能做什么呢? 抓住异常并按顺序处理恢复 抓住异常,也许记个日志并保持安静. 下层的方法也可以选择无视这个异常(或者抓住并重扔出来) 想象下一直扔到main方法仍然没有处理这个异常.这种情况下,程序肯…
原文地址:http://rerun.me/2014/10/21/akka-notes-actor-lifecycle-basic/ (请注意这了讨论的生命周期并不包括 preRestart 或者postRestart方法,当我们讨论supervision时候我们会说这个) 基本的Actor生命周期很直观.除了一点小不同,你可以直接拿基本Actor生命周期与Java Servlet生命周期作比较. 像其他常规类一样,我们有一个构造函数. preStart方法会被调用. 这里你可以在postStop…
从第一篇Akka笔记的介绍中,我们是从很高的高度去观察Akka工具箱中的Actors.在这篇笔记的第二篇,我们会看一下Actors中的消息部分.而且延续上一次的例子,我们还会使用同样的学生与老师的例子. 在Actor消息的第一部分,我们会建立一个Teacher Actor,而且会使用一个叫StudentSimulatorApp的主程序. 回顾学生-老师模式的细节 现在考虑下StudentSimulatorApp单独发消息给TeacherActor.当我说到StudentSimulatorApp,…
消息 我们只是让QuoteRequest到ActorRef去但是我们根本没见过消息类! 它是这样的: (一个最佳实践是把你的消息类包装在一个完整的对象里以利于更好的组织) TeacherProtocol package me.rerun.akkanotes.messaging.protocols object TeacherProtocol{ case class QuoteRequest() case class QuoteResponse(quoteString:String) } 就像你知…
当我们说Actor生命周期的时候,我们能看到Actor能被很多种方式停掉(用ActorSystem.stop或ActorContext.stop或发送一个PoisonPill - 也有一个kill和gracefulstop). 无论Actor是怎么死的,有些情况一些系统中的其他actor想要知道.让我们举一个Actor与数据库交互的例子 - 我们叫它RepositoryActor.很明显,会有一些其他actor会向这个RepositoryActor发送消息.这些有"兴趣"的Actor很…
原文在http://rerun.me/2014/10/06/akka-notes-actorsystem-in-progress/ 像我们前面看到的,我们可以用ActorSystem的actorof方法来创建Actor.其实你可以用ActorSystem做更多事.我们可以先看下Configuration和Scheduling. 让我们先看下ActorSystem 的方法. 1. 配置管理 还记得前一篇我们用application.conf文件来配置我们的日志级别吗?这个文件跟java里用的.pr…
在前两章 ( 一 , 二 ) ,我们大致讲了Actor和message是怎么工作的,让我们看一下日志和测试我们的 TeacherActor . RECAP 这是上一节我们的Actor代码: class TeacherActor extends Actor { val quotes = List( "Moderation is for cowards", "Anything worth doing is worth overdoing", "The trou…
原文地址:http://rerun.me/2016/05/21/akka-notes-finite-state-machines-1/ 我最近有个机会在工作上使用了Akka FSM,是个非常有趣的例子.API(实际上就是DSL),使用体验很棒.这里是我尝试用Akka FSM的有限状态机来写日志.作为例子,我们会以构建一个咖啡机的步骤作为例子. 为什么不用BECOME和UNBECOME 我们知道plain vanilla Akka Actor可以用become/unbecome切换行为.那么,为什…
原文:http://rerun.me/2014/10/21/akka-notes-child-actors-and-path/ Actor是完全的继承结构.你创建的任何Actor肯定都是一个其他Actor的child. 让我们分析下: PATH 我们用ActorSystem.actorof创建一个ActorRef并打印出他的path val actorSystem=ActorSystem("SupervisionActorSystem") val actorRef=actorSyste…
3.THROW IN A LOGBACK.XML 现在我们把SLF4J日志配置在logback. <?xml version="1.0" encoding="UTF-8"?> <configuration> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder>…
本文翻译自:Rails from Request to Response 系列:个人选择了自己感兴趣的部分进行翻译,需要阅读原文的同学请戳前面的链接. 第二部分 路由(Routing) Blog::Application.routes 的定义也在 engine.rb 文件中: # rails/railties/lib/rails/engine.rb def routes @routes ||= ActionDispatch::Routing::RouteSet.new @routes.appen…
本文翻译自:Rails from Request to Response 系列:个人选择了自己感兴趣的部分进行翻译,需要阅读原文的同学请戳前面的链接. 第一部分 导言(Introduction) 服务器 在讲 Rails 调用栈之前,先简单介绍一下不同服务器应用的作用,其中并不会涉及到各个服务器应用(比如 Thin 和 Unicorn 或 Nginx)的细节,因为文章的重点是讲 Rails 端的一些东西. 这里举一个 Unicorn 的简单例子,管窥整个 Rails 应用. Unicorn架构…
前两天因项目须要,简单看了一下FiddlerScript,功能挺强的.今天有时间细致看一下,做个笔记. 改动Request或Response 改动Request和Response要在FiddlerScript中的OnBeforeRequest和OnBeforeResponse函数中加入规则就可以.OnBeforeRequest函数是在每次请求之前调用.OnBeforeResponse函数是在每次响应之前调用. 1.加入请求头Header oSession.oRequest["NewHeaderN…
任何以前做过多线程的人都不会否认管理多线程程序是困难并且痛苦的. 我说管理是因为它开始很容易而且当你看到性能提升时会很兴奋.但是,当你看到你没法从子线程的错误中恢复 或者 这些僵尸bug很难重现 或者 当用性能剖析器时你发现你的线程在更新一个共享状态时阻塞了很长时间时,那真的很痛苦. 我倾向于不说Java的并发API和集合把并发编程变的更轻松和容易了,因为如果你看到这,你肯定渴望对子线程任务有更多控制或者希望更简单但又不愿意去写一堆的锁和同步代码块,而且希望对这种模式有更高层的抽象. 着这个Ak…
本文的绝大部分内容转载自rerun.me这一blog,老外写的东西就是好啊. ACTORS介绍 Anyone who has done multithreading in the past won't deny how hard and painful it is to manage multithreaded applications. I said manage because it starts out simple and it became a whole lot of fun onc…
从第一篇Akka笔记的介绍中,我们是从很高的高度去观察Akka工具箱中的Actors.在这篇笔记的第二篇,我们会看一下Actors中的消息部分.而且延续上一次的例子,我们还会使用同样的学生与老师的例子. 在Actor消息的第一部分,我们会建立一个Teacher Actor,而且会使用一个叫StudentSimulatorApp的主程序. 回顾学生-老师模式的细节 现在考虑下StudentSimulatorApp单独发消息给TeacherActor.当我说到StudentSimulatorApp,…
AKKA 笔记 - 有限状态机 -2 原文地址: http://rerun.me/2016/05/22/akka-notes-finite-state-machines-2/ 在上一节的Akka FSM笔记中,我们看了一些基本的使用Akka FSM和咖啡机的使用方式 - Actor的数据结构和一队我们要发给Actor的消息.这次的第二部分也是最终部分,我们会过一遍这些状态的实现细节. 总结 作为一个快速的总结,让我们先看一下FMS的结构和我们要发过去的消息. 状态和数据 FSM的三个状态和要在各…
纯属记录总结,以下图片都是来自 ASP.NET笔记之 Request .Response 与Server的使用 Request Response Server 关于Server.MapPath 方法看下面这篇博文: Server.MapPath方法的应用方法 个人记录总结,省的忘记了.好记性不如赖笔头!…
注:本文转自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html , 粉字[]内内容为个人笔记 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看.也希望对大家的开发工作或者测试工作有所…
http://www.cnblogs.com/bukudekong/p/3834020.html #HTTP协议学习# (一)request 和response 解析   注:本文转自:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html , 粉字[]内内容为个人笔记 当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信…
* Request 和 Response 原理:     * request对象和response对象由服务器创建,我们只需要在service方法中使用这两个对象即可        * 继承体系结构:        ServletRequest <--继承-- HttpServletRequest <--实现--- RequestFacade * Response:封装响应消息,设置响应消息    * 设置响应行:HTTP/1.1 200 ok        * setStatus(int c…
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等. 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看.也希望对大家的开发工作或者测试工作有所帮助.使用Fiddler工具非常方便地捕获HTTP Request和HTTP Response,  关于Fiddler工具的用法,请看另一篇博客[Fiddler 教程] 什…
Request 和 Response 对象起到了服务器与客户机之间的信息传递作用.Request 对象用于接收客户端浏览器提交的数据,而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器.   一.Request对象的五个集合:   QueryString:用以获取客户端附在url地址后的查询字符串中的信息.        例如:stra=Request.QueryString ["strUserld"] Form:用以获取客户端在FORM表单中所输入的信息.(表单的…
request和response(请求和响应)  1.当Web容器收到客户端的发送过来http请求,会针对每一次请求,分别创建一个用于代表此次请求的HttpServletRequest对象(request)对象.和代表响应的HTTPServletResponse对象(response). request负责获取客户机提交过来的数据. response负责向客户机输出数据. 2.HttpServletRequest请求 GET /Servlet/servlet/Servlet_03 HTTP/1.…
下面是一位园友的文章: jsp或Servlet都会用到页面跳转,可以用 request.getRequestDispatcher("p3.jsp").forward(request,response);这种方法称为转发,地址栏上的URL不会改变: response.sendRedirect("p3.jsp");这种方法称为重定向,地址栏的URL会改变: 这样实现跳转到p3.jsp;可是这两种方法有着本质的不同,requset是请求,是在服务器端运行的,respons…
LoadRunner中取Request.Response LoadRunner两个“内置变量”: 1.REQUEST,用于提取完整的请求头信息. 2.RESPONSE,用于提取完整的响应头信息. 响应头信息用可用其它方式实现,但请求头信息还真不知道可以这样拿到.太隐蔽了吧! 注意,这两个变量仅在请求前使用web_save_header注册使用.示例如下: Action(){ web_set_max_html_param_len("262144"); // 默认最大长度为256 web_…
@ResponseBody @RequestMapping(value="/ip", method=RequestMethod.GET) public String getIP(HttpServletRequest request, HttpServletResponse response){ return request.getRemoteAddr(); } 直接在参数中指定,mvc会自动注入…
转载:http://blog.sina.com.cn/s/blog_7085382f0102v9jg.html 1.参数 例如: @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequest req, HttpServletResponse resp){ } 这样的话如果要用ajax每次都要将response作为参数传递,不方便使用 2.加入监听器,然后再controller里面获取 (1)…
Request对象 Response.Write(Request.ApplicationPath) //应用根路径 Request.AppRelativeCurrentExecutionFilePath //当前执行请求相对于应用根目录的虚拟路径,以-开头 Request.PhysicalApplicationPath //当前应用的物理路径,如 D:\TEST\WEB Request.PhysicalPath //当前请求的物理路径,如 D:\TEST\WEB\a.aspx Request.R…