常è§é—®é¢˜ ############# å¼€å‘问题 ============== SAE JavaçŽ¯å¢ƒæ˜¯å¦æ”¯æŒåå°„? ---------------------------- 支æŒå射(支æŒå…¨éƒ¨Javaè¯è¨€ç‰¹æ€§ï¼‰ã€‚ SAE JavaçŽ¯å¢ƒæ˜¯å¦æ”¯æŒæ–°å¼€Thread? ---------------------------------- 支æŒï¼Œä½†æ˜¯æœ‰æœ€å¤§çº¿ç¨‹æ•°é™åˆ¶ï¼ˆæ ¹æ®å„类套é¤é™åˆ¶ä¸åŒï¼‰ã€‚ SAE Javaä¸çš„应用是分布å¼éƒ¨ç½²çš„?JVM宕机了怎么办? ----------------------------------------------------- 在创建应用时å¯é€‰æ‹©JVMæ•°é‡ï¼Œå¦‚果数é‡å¤§äºŽ1则是分布å¼éƒ¨ç½²ã€‚当å‘生故障时,首先会自动é‡å¯JVM故障节点,如果应用是多节点分布å¼éƒ¨ç½²ï¼Œåˆ™è·¯ç”±æ¤æ—¶ä¸ä¼šå°†è¯·æ±‚å‘到故障节点上,待节点æ¢å¤åŽå†å°†è¯·æ±‚分å‘过去。 ä¿å˜cookieæ—¶Path如何设置? ------------------------------- 在SAE Java环境ä¸ä¿å˜cookieå’Œé€šå¸¸æƒ…å†µä¸‹æ²¡æœ‰ä»€ä¹ˆåŒºåˆ«ï¼Œä½†æ˜¯å¦‚æžœä½ éœ€è¦è®¾ç½®Pathçš„è¯éœ€è¦åŠ ä¸ŠcontextPath。如: :: cookie.setPath(request.getContextPath()+"/"); SAE Java环境是å¦èƒ½ä½¿ç”¨å¾®åšæŽ¥å£? ---------------------------------- å¯ä»¥ä½¿ç”¨ï¼Œç›®å‰å·²æœ‰ä¸å°‘å¾®åšåº”用跑在SAE Java环境ä¸ã€‚ 应用访问忽然å˜å¾—特别慢怎么办? ---------------------------------- ä¸€èˆ¬å‡ºçŽ°è¿™ç§æƒ…å†µéƒ½æ˜¯å› ä¸ºå†…å˜å°†è¿‘跑满了,首先é‡å¯åº”用释放内å˜ï¼Œå¦å¤–æ£€æŸ¥ä»£ç æ˜¯å¦æœ‰æœªé‡Šæ”¾å†…å˜çš„æ“ä½œã€‚ 应用被ç¦ç”¨äº†æ€Žä¹ˆåŠžï¼Ÿ --------------------------- 首先去æœåŠ¡çŠ¶æ€é¢æ¿æŸ¥çœ‹è¢«ç¦ç”¨çš„åŽŸå› ï¼Œå¦‚æžœåº”ç”¨è®¿é—®é‡è¾ƒå°å‡ºçŽ°è¿™ç§æƒ…å†µï¼Œè¯·æ£€æŸ¥åº”ç”¨ä¸æ˜¯å¦å˜åœ¨æ»å¾ªçޝç‰bad code。如果访问é‡è¿‡å¤§å¯¼è‡´åº”用被ç¦ç”¨å»ºè®®æ›´æ¢å¥—餿ˆ–æ·»åŠ JVM节点,当然也å¯ä»¥ç”³è¯·ä¼ä¸šæœåŠ¡ï¼ˆæ›´é«˜çš„é…é¢ï¼‰ã€‚ 应用startå’Œreloadæ“作时候会被记录é…é¢å—? -------------------------------------------------- ä¸ä¼šï¼Œåº”用在æ£å¸¸è¿è¡Œæ—¶æ‰ä¼šè¢«è®°å½•é…é¢ã€‚ 应用è¿è¡Œè¿‡ç¨‹ä¸é‡æ–°ä¸Šä¼ waræœåŠ¡å™¨æ˜¯è¿™æ ·çš„æµç¨‹ï¼Ÿ ----------------------------------------------- 应用è¿è¡Œä¸ä¸Šä¼ war包会触å‘reloadæ“作,reloadå®ŒåŽæ–°ä¸Šä¼ çš„warå³èƒ½ç”Ÿæ•ˆã€‚å¦‚æžœæœŸé—´å‡ºçŽ°äº†é”™è¯¯ï¼Œå»ºè®®åœ¨åº”ç”¨é¢æ¿é‡å¯åº”用。 调试应用过程ä¸å‡ºçްOOM怎么办? ---------------------------------- 如果应用出现OOM请到应用管ç†ä¸é‡å¯åº”用å³å¯ï¼Œå¦‚果频ç¹å‡ºçŽ°ï¼Œåˆ™å»ºè®®æ‰©å¤§åº”ç”¨çš„å†…å˜(æ›´æ¢å¥—é¤)æˆ–è€…å¢žåŠ åº”ç”¨èŠ‚ç‚¹ï¼Œå½“ç„¶ä¹Ÿå¯ä»¥è´ä¹°SAEæä¾›çš„ä¼ä¸šæœåŠ¡ã€‚ 应用出现503怎么办? ------------------------- 应用出现503一般是应用å¯åŠ¨è¿‡ç¨‹ä¸å‡ºçŽ°å¼‚å¸¸ï¼Œå¦‚æžœæ˜¯çªå‘状况å¯é‡å¯æœåŠ¡ã€‚ä»ç„¶æ— 效请到日志ä¸å¿ƒæŸ¥çœ‹JVMä¸‹çš„æ—¥å¿—æŸ¥æ‰¾é”™è¯¯åŽŸå› ï¼ˆæœ‰å¯èƒ½æ˜¯JVMå¯åŠ¨æ—¶å‡ºé”™ï¼‰ã€‚ 为何应用设置的icoä¸èµ·ä½œç”¨ï¼Ÿ ------------------------------ 在hrefå‰åŠ ä¸Šåº”ç”¨çš„contextPath,形如: 出现ban call socket是怎么回事? ------------------------------------- SAE JavaçŽ¯å¢ƒç¦æ¢è¿žæŽ¥å†…ç½‘ï¼Œæ£€æŸ¥ä½ çš„åº”ç”¨ä»£ç æ˜¯å¦é€šè¿‡socket连接了ä¸å¿…è¦çš„内网地å€ã€‚ 框架问题 ================ SAE Java环境支æŒå“ªäº›æ¡†æž¶ï¼Ÿéœ€è¦åšç‰¹æ®Šçš„定制å—? ------------------------------------------------- SAE JavaçŽ¯å¢ƒå‡ ä¹Žå¼€æ”¾äº†æ‰€æœ‰çš„æƒé™ï¼Œæ‰€ä»¥å¤§éƒ¨åˆ†æ¡†æž¶ï¼ˆåŒ…括SSHã€Playç‰ï¼‰éƒ½èƒ½å¤Ÿä¸åšä»»ä½•修改就在SAE Java环境ä¸è¿è¡Œã€‚ JVM问题 ============== 请å‚è§ :doc:`Javaè¿è¡ŒçŽ¯å¢ƒæ–‡æ¡£ <runtime>` æœåŠ¡é—®é¢˜ ============== MySQL çš„URLã€ç”¨æˆ·åå’Œå¯†ç æ˜¯ä»€ä¹ˆï¼Ÿ ----------------------------------- SAEæä¾›çš„ MySQL æœåŠ¡ä¸ºä¸»ä»Žåˆ†å¸ƒï¼Œå…¶ä¸ä¸»åº“çš„URL为w.rdc.sae.sina.com.cn,从库的URL为r.rdc.sae.sina.com.cn,端å£éƒ½æ˜¯3307。用户å为应用的accessKey,密ç 为应用的secretKey(在应用管ç†çš„æ±‡æ€»ä¿¡æ¯ä¸æŸ¥çœ‹ï¼‰ã€‚ 使用 MySQL æœåŠ¡ä¸€å®šéœ€è¦ä¸»ä»Žåˆ†ç¦»è¯»å†™å—? ----------------------------------------- æ ¹æ®åº”用需è¦ï¼Œå¦‚果应用访问数æ®åº“é‡è¾ƒå°ï¼Œå¯ç›´æŽ¥è¯»å†™ä¸»åº“。ä¸è¿‡è¿˜æ˜¯å»ºè®®ä½ åšä¸»ä»Žåˆ†ç¦»çš„读写。 为什么 MySQL 连接有时候会丢失? ------------------------------------ å› ä¸ºSAEçš„ MySQL æœåŠ¡ä¼šå°†åœ¨ä¸€å®šæ—¶é—´å†…æ²¡æœ‰ä»»ä½•æ“ä½œçš„è¿žæŽ¥å›žæ”¶ï¼Œæ‰€ä»¥è¯·æ ¹æ®å®žé™…情况é…ç½®ä½ çš„è¿žæŽ¥æ± ï¼ˆå¦‚c3p0çš„idleConnectionTestPeriodå’ŒmaxIdleTime建议设置为10)。 SAE Java环境支æŒè¿žæŽ¥å¤–网 MySQL å—? -------------------------------------- 支æŒï¼Œä½†å»ºè®®ä½¿ç”¨SAEæä¾›çš„ MySQL æœåŠ¡ï¼Œå› ä¸ºå…¬ç½‘ç½‘ç»œè¿žæŽ¥ä¼šè€—è´¹ä¸€å®šçš„æ—¶é—´ï¼Œä¼šå½±å“应用的体验。 MySQL æœåŠ¡ä½¿ç”¨çš„æ˜¯ä»€ä¹ˆå˜å‚¨å¼•擎?æ˜¯å¦æ”¯æŒInnoDB? ---------------------------------------------------- MySQLæœåŠ¡é»˜è®¤ä½¿ç”¨çš„æ˜¯MyISAM引擎。ä¼ä¸šç”¨æˆ·æ˜¯æ”¯æŒInnoDB的,如果需è¦ä½¿ç”¨InnoDBå¯å‘é€é‚®ä»¶åˆ° `saemail@sina.cn <mailto:saemail@sina.cn>`_ 申请InnoDB引擎。 使用Memcache时报ServiceNotOpenException是怎么回事? ---------------------------------------------------- Memcache需è¦çŽ°åœ¨åº”ç”¨ç®¡ç†ä¸å¼€å¯æ‰èƒ½ä½¿ç”¨ã€‚ 使用 Memcache 时报NotInitializeException是怎么回事? -------------------------------------------------------- 在调用 Memcache æ“作时,请确ä¿åˆå§‹åŒ–SaeMemcache时调用了init()方法。å¦å¤–最好基于请求requestæ¥è°ƒç”¨ Memcache 接å£ã€‚ 使用KVDB时候报ServiceNotOpenExceptionå’ŒServiceIsBanException是怎么回事? ------------------------------------------------------------------------------ 报ServiceNotOpenException请确ä¿ä½ 的应用å¯ç”¨äº†KVDB ,而报ServiceIsBanExceptionåˆ™æ˜¯ä½ çš„æ“作过于频ç¹å¯¼è‡´æœåŠ¡è¢«ç¦ç”¨ï¼Œå¯ä»¥åŽ»æœåŠ¡çŠ¶æ€é¢æ¿æŸ¥çœ‹å…·ä½“哪项é…é¢è¶…é…导致ç¦ç”¨ã€‚ 使用 KVDB 报NotInitializeException是怎么回事? ---------------------------------------------------- 在调用 KVDB æ“作时,请确ä¿åˆå§‹åŒ–SaeKV时调用了init()方法。å¦å¤–最好基于请求requestæ¥è°ƒç”¨KVDB接å£ã€‚ 使用 FetchURL æœåŠ¡æ—¶å€™æŠ¥Author Error是怎么回事? ---------------------------------------------------- ç¡®ä¿ä½ 请求的URLæ²¡æœ‰ä¸æ–‡ï¼Œå¦‚æžœæœ‰ä¸æ–‡è¯·å…ˆå°†URLçš„ä¸æ–‡è½¬ç 。 SAE Javaæä¾›çš„SVNå¯ä¸Šä¼ 哪些文件? ------------------------------------- SAE Java应用æä¾›çš„SVN仓库支æŒåº”用war包和 config.yaml ( cron é…置文件)两ç§ç±»åž‹æ–‡ä»¶ä¸Šä¼ 。 å¯ä»¥ä½¿ç”¨JavaMailæ¥å‘é€é‚®ä»¶å—? -------------------------------- å¯ä»¥ï¼Œä½†æ˜¯åœ¨ä¸Šä¼ war包å‰éœ€è¦å°†åº”用ä¸çš„mail.jaråˆ é™¤ï¼Œéžç‰¹æ®Šæƒ…况建议用户使用SAEæä¾›çš„ Mail æœåŠ¡æ¥å‘é€é‚®ä»¶ã€‚ Java应用如何使用 Cron æœåŠ¡ï¼Ÿ ------------------------------- Java应用使用 Cron æœåŠ¡å’ŒPHPåº”ç”¨æ²¡ä»€ä¹ˆåŒºåˆ«ã€‚å”¯ä¸€å·®å¼‚çš„åœ°æ–¹å°±æ˜¯ä¸Šä¼ config.yaml文件方å¼ä¸ä¸€æ ·ã€‚java应用需è¦é€šè¿‡SVNå°†config.yamlæ–‡ä»¶ä¸Šä¼ ï¼Œæ–‡ä»¶è·¯å¾„å’Œwar包路径一致。 应用的所有版本都会è¿è¡Œ Cron æœåŠ¡å—? ------------------------------------ 请å‚è§ :doc:`Cron文档 <cron>` 资费问题 ============= Java的计费规则是什么? -------------------------- ç›®å‰SAE Java应用的计费主è¦ç”±ä¸¤éƒ¨åˆ†ç»„æˆï¼š1,JVM费用;2,æµé‡ã€‚ JVMè´¹ç”¨ä¸»è¦æ˜¯æŒ‡ç”¨æˆ·ç§Ÿç”¨çš„JVM实例计费,按照è¿è¡Œçš„实例数\*实例相应的ç‰çº§è´¹ç”¨/å°æ—¶ï¼ŒJVMä¸€æ—¦è¢«å›žæ”¶æˆ–è€…æ‰‹å·¥åœæ¢åŽï¼Œå°†ä¸å†äº§ç”Ÿè¿™éƒ¨åˆ†è´¹ç”¨ã€‚ æµé‡è´¹ç”¨ä¸»è¦æ˜¯æŒ‡JVM产生的HTTP对外æµé‡ï¼Œç›®å‰è¿™å—计费没有开å¯ã€‚ ä¸Šè¿°æ‰€è¿°çš„è®¡è´¹ä»·æ ¼å¯ä»¥å‚考资费页é¢ï¼Œ :doc:`/billing` 。 为什么Java的计费方å¼å’ŒPHPã€Pythonä¸ä¸€æ ·ï¼Ÿ ------------------------------------------ ä¸»è¦æ˜¯å› 为SAE Java的实现架构和SAE PHPä¸å®Œå…¨ä¸€æ ·ï¼Œä»Žè€Œå¯¼è‡´è¿è¡Œæˆæœ¬ä¹Ÿä¸ä¸€æ ·ã€‚在SAE Javaå¹³å°ä¸Šï¼Œå„用户独享å„自的JVM,我们的计费完全按照JVM instanceæ¥è¿›è¡Œã€‚ 我怎么æ‰èƒ½èŠ‚çœè´¹ç”¨ï¼Ÿ ------------------------ 节çœè´¹ç”¨æœ‰ä»¥ä¸‹æ–¹å¼ï¼š 1. 在创建应用时,选择åˆé€‚ç‰çº§çš„JVMï¼Œæ¯”å¦‚ä½ çš„åº”ç”¨è§„æ¨¡è¾ƒå°æ—¶ï¼Œå¯ä»¥ä¼˜å…ˆé€‰æ‹©ç»æµŽåž‹çš„JVM。 2. å¯ä»¥åˆ›å»ºè¾ƒå°æ•°é‡çš„JVM,用户的费用和JVMæ•°é‡æˆæ£æ¯”。 3. ä¸ç”¨æ—¶ï¼Œå¯ä»¥æ‰‹åЍ关é—JVM。 4. 当然,用户还å¯ä»¥ç§¯æžå‚åŠ SAE举办的å„ç§æ´»åŠ¨ï¼ŒèŽ·å¾—äº‘è±†æ”¯æŒã€‚ JVM被回收åŽå¦‚何被唤醒?唤醒需è¦å¤šé•¿æ—¶é—´ï¼Ÿ ------------------------------------------- é•¿æœŸæ²¡è¢«è®¿é—®çš„åº”ç”¨ä¼šè¢«å›žæ”¶ï¼Œå½“è¯·æ±‚å†æ¬¡æ¥åˆ°çš„æ—¶å€™ä¼šå°†JVM唤醒,唤醒æ“ä½œæ—¶é—´æ ¹æ®åº”用å¯åŠ¨æ—¶é—´è€Œå®šï¼Œé€šå¸¸æƒ…å†µä¸‹åœ¨30秒之内。